library test;
import self as self;
import "dart:core" as core;

static method getInt() → core::int*
  ;
static method getNum() → core::num*
  ;
static method getDouble() → core::double*
  ;
static method test1(core::int* t) → void
  ;
static method test2(core::num* t) → void
  ;
static method test3(core::double* t) → void
  ;
static method main() → dynamic
  ;
