| library; | 
 | import self as self; | 
 | import "dart:core" as core; | 
 |  | 
 | typedef MyList<T extends core::num> = core::List<T>; | 
 | static method main() → 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}"; | 
 | } | 
 | static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#filled#tearOff<T extends core::num>(core::int length, self::_#MyList#filled#tearOff::T fill, {core::bool growable = #C2}) → core::List<self::_#MyList#filled#tearOff::T> | 
 |   return core::List::filled<self::_#MyList#filled#tearOff::T>(length, fill, growable: growable); | 
 | static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#empty#tearOff<T extends core::num>({core::bool growable = #C2}) → core::List<self::_#MyList#empty#tearOff::T> | 
 |   return core::List::empty<self::_#MyList#empty#tearOff::T>(growable: growable); | 
 | static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#from#tearOff<T extends core::num>(core::Iterable<dynamic> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#from#tearOff::T> | 
 |   return core::List::from<self::_#MyList#from#tearOff::T>(elements, growable: growable); | 
 | static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#of#tearOff<T extends core::num>(core::Iterable<self::_#MyList#of#tearOff::T> elements, {core::bool growable = #C1}) → core::List<self::_#MyList#of#tearOff::T> | 
 |   return core::List::of<self::_#MyList#of#tearOff::T>(elements, growable: growable); | 
 | static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#generate#tearOff<T extends core::num>(core::int length, (core::int) → self::_#MyList#generate#tearOff::T generator, {core::bool growable = #C1}) → core::List<self::_#MyList#generate#tearOff::T> | 
 |   return core::List::generate<self::_#MyList#generate#tearOff::T>(length, generator, growable: growable); | 
 | static method /* from org-dartlang-sdk:///sdk/lib/_internal/vm/lib/array_patch.dart */ _#MyList#unmodifiable#tearOff<T extends core::num>(core::Iterable<dynamic> elements) → core::List<self::_#MyList#unmodifiable#tearOff::T> | 
 |   return core::List::unmodifiable<self::_#MyList#unmodifiable#tearOff::T>(elements); | 
 |  | 
 | constants  { | 
 |   #C1 = true | 
 |   #C2 = false | 
 |   #C3 = constructor-tearoff core::List::filled | 
 |   #C4 = instantiation #C3 <core::num> | 
 |   #C5 = static-tearoff self::_#MyList#filled#tearOff | 
 |   #C6 = instantiation #C5 <core::num> | 
 | } | 
 |  | 
 | Extra constant evaluation status: | 
 | Evaluated: StaticInvocation @ org-dartlang-testcase:///issue47462.dart:18:16 -> BoolConstant(true) | 
 | Evaluated: StaticInvocation @ org-dartlang-testcase:///issue47462.dart:19:17 -> BoolConstant(false) | 
 | Extra constant evaluation: evaluated: 50, effectively constant: 2 |