| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| class Class<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ { |
| const constructor •() → self::Class<self::Class::T%> |
| : super core::Object::•() |
| ; |
| } |
| extension type ExtensionType<T extends core::Object? = dynamic>(T% id) { |
| abstract extension-type-member representation-field get id() → T%; |
| constructor • = self::ExtensionType|constructor#; |
| constructor tearoff • = self::ExtensionType|constructor#_#new#tearOff; |
| } |
| static const field core::Type a1 = self::Class<core::int>; |
| static const field core::Type a2 = self::ExtensionType<self::Class<core::int>>% /* erasure=self::Class<core::int>, declared=! */; |
| static const field core::Type a3 = self::Class<core::bool>; |
| static const field core::Type a4 = self::ExtensionType<self::Class<core::bool>>% /* erasure=self::Class<core::bool>, declared=! */; |
| static const field self::Class<core::int> b1 = const self::Class::•<core::int>(); |
| static const field self::ExtensionType<self::Class<core::int>>% /* erasure=self::Class<core::int>, declared=! */ b2 = const self::ExtensionType|constructor#<self::Class<core::int>>(const self::Class::•<core::int>()); |
| static const field self::Class<core::bool> b3 = const self::Class::•<core::bool>(); |
| static const field self::ExtensionType<self::Class<core::bool>>% /* erasure=self::Class<core::bool>, declared=! */ b4 = const self::ExtensionType|constructor#<self::Class<core::bool>>(const self::Class::•<core::bool>()); |
| static extension-type-member method ExtensionType|constructor#<T extends core::Object? = dynamic>(self::ExtensionType|constructor#::T% id) → self::ExtensionType<self::ExtensionType|constructor#::T%>% /* erasure=self::ExtensionType|constructor#::T%, declared=! */ { |
| lowered final self::ExtensionType<self::ExtensionType|constructor#::T%>% /* erasure=self::ExtensionType|constructor#::T%, declared=! */ #this = id; |
| return #this; |
| } |
| static extension-type-member method ExtensionType|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ExtensionType|constructor#_#new#tearOff::T% id) → self::ExtensionType<self::ExtensionType|constructor#_#new#tearOff::T%>% /* erasure=self::ExtensionType|constructor#_#new#tearOff::T%, declared=! */ |
| return self::ExtensionType|constructor#<self::ExtensionType|constructor#_#new#tearOff::T%>(id); |
| static method main() → dynamic |
| ; |
| static method expect(dynamic expected, dynamic actual) → dynamic |
| ; |
| |
| |
| Extra constant evaluation status: |
| Evaluated: TypeLiteral @ org-dartlang-testcase:///const_extension_type.dart:11:12 -> TypeLiteralConstant(Class<int>) |
| Evaluated: TypeLiteral @ org-dartlang-testcase:///const_extension_type.dart:12:12 -> TypeLiteralConstant(Class<int>) |
| Evaluated: TypeLiteral @ org-dartlang-testcase:///const_extension_type.dart:13:12 -> TypeLiteralConstant(Class<bool>) |
| Evaluated: TypeLiteral @ org-dartlang-testcase:///const_extension_type.dart:14:12 -> TypeLiteralConstant(Class<bool>) |
| Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_extension_type.dart:16:18 -> InstanceConstant(const Class<int>{}) |
| Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///const_extension_type.dart:17:18 -> InstanceConstant(const Class<int>{}) |
| Evaluated: ConstructorInvocation @ org-dartlang-testcase:///const_extension_type.dart:18:18 -> InstanceConstant(const Class<bool>{}) |
| Evaluated: FactoryConstructorInvocation @ org-dartlang-testcase:///const_extension_type.dart:19:18 -> InstanceConstant(const Class<bool>{}) |
| Extra constant evaluation: evaluated: 12, effectively constant: 8 |