blob: b032165876ce0b51f6ac4f79c103dc0bb425d59b [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
typedef b = core::int;
typedef c = core::String;
static method f(dynamic a, [dynamic b = #C1]) → core::String
return "${a}, ${b}";
static method a<T1 extends core::Object? = dynamic, T2 extends core::Object? = dynamic>(core::int x) core::String {
return "a<${self::a::T1%}, ${self::a::T2%}>(${x})";
}
static method main() dynamic {
self::expect("${#C3}, null", self::f(#C3.{core::Object::toString}(){() core::String}));
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!(expected =={core::Object::==}{(core::Object) core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
constants {
#C1 = null
#C2 = static-tearoff self::a
#C3 = instantiation #C2 <core::int*, core::String*>
}