| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| static field (core::int) → core::int implicitInstantiation = #C2; |
| static const field (core::int) → core::int implicitConstInstantiation = #C2; |
| static method id<T extends core::Object? = dynamic>(self::id::T% t) → self::id::T% |
| return t; |
| static method create<T extends core::Object? = dynamic>() → (self::create::T%) → self::create::T% |
| return #C1<self::create::T%>; |
| static method main() → dynamic { |
| self::expect(true, core::identical(self::implicitInstantiation, self::implicitInstantiation)); |
| self::expect(true, core::identical(self::implicitInstantiation, #C2)); |
| self::expect(false, core::identical(self::implicitInstantiation, self::create<core::int>())); |
| self::expect(true, core::identical(#C2, self::implicitInstantiation)); |
| self::expect(true, core::identical(#C2, #C2)); |
| self::expect(false, core::identical(#C2, self::create<core::int>())); |
| } |
| static method expect(dynamic expected, dynamic actual) → dynamic { |
| if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) |
| throw "Expected ${expected}, actual ${actual}"; |
| } |
| |
| constants { |
| #C1 = tearoff self::id |
| #C2 = partial-instantiation self::id <core::int*> |
| } |
| |
| Extra constant evaluation status: |
| Evaluated: StaticInvocation @ org-dartlang-testcase:///identical_instantiated_function_tearoffs.dart:19:13 -> BoolConstant(true) |
| Extra constant evaluation: evaluated: 29, effectively constant: 1 |