blob: 285da40f5557e183b036ce02c1b392cae0f38164 [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
typedef MyList<T extends core::num> = core::List<T>;
static method main() dynamic {}
static method test() dynamic {
self::expect(true, #C1);
self::expect(false, #C2);
self::expect(true, core::identical(#C4, #C4));
self::expect(false, core::identical(#C4, #C6));
(core::int, core::num, {growable: core::bool}) core::List<core::num> v1 = #C4;
(core::int, core::num, {growable: core::bool}) core::List<core::num> v2 = #C4;
(core::int, core::num, {growable: core::bool}) core::List<core::num> v3 = #C6;
core::bool v4 = core::identical(v1, v2);
core::bool v5 = core::identical(v1, v3);
self::expect(true, v4);
self::expect(false, v5);
self::expect(true, core::identical(v1, v2));
self::expect(false, core::identical(v1, v3));
}
static method expect(dynamic expected, dynamic actual) dynamic {
if(!(expected =={core::Object::==}{(core::Object) core::bool} actual))
throw "Expected ${expected}, actual ${actual}";
}
constants {
#C1 = true
#C2 = false
#C3 = constructor-tearoff core::List::filled
#C4 = instantiation #C3 <core::num*>
#C5 = typedef-tearoff <T extends core::num>.(#C3<T>)
#C6 = instantiation #C5 <core::num*>
}
Extra constant evaluation status:
Evaluated: StaticInvocation @ org-dartlang-testcase:///issue47462.dart:20:16 -> BoolConstant(true)
Evaluated: StaticInvocation @ org-dartlang-testcase:///issue47462.dart:21:17 -> BoolConstant(false)
Extra constant evaluation: evaluated: 32, effectively constant: 2