| library; |
| import self as self; |
| import "dart:core" as core; |
| import "opt_in_lib.dart" as opt; |
| |
| import "org-dartlang-testcase:///opt_in_lib.dart"; |
| |
| class Class extends core::Object { |
| synthetic constructor •() → self::Class* |
| ; |
| abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode |
| abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf |
| abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf |
| abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue |
| abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse |
| abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== |
| abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode |
| abstract member-signature method toString() → core::String*; -> core::Object::toString |
| abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod |
| abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType |
| } |
| class XToken extends opt::Token<core::Object*> /*hasConstConstructor*/ { |
| const constructor •() → self::XToken* |
| : super opt::Token::•() |
| ; |
| abstract member-signature get _identityHashCode() → core::int*; -> core::Object::_identityHashCode |
| abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*; -> core::Object::_instanceOf |
| abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOf |
| abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfTrue |
| abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*; -> core::Object::_simpleInstanceOfFalse |
| abstract member-signature operator ==(dynamic other) → core::bool*; -> core::Object::== |
| abstract member-signature get hashCode() → core::int*; -> core::Object::hashCode |
| abstract member-signature method toString() → core::String*; -> core::Object::toString |
| abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic; -> core::Object::noSuchMethod |
| abstract member-signature get runtimeType() → core::Type*; -> core::Object::runtimeType |
| } |
| static const field core::List<opt::P<core::Object*>*>* list = const <opt::P<core::Object*>*>[const opt::CP::_<core::Object*>(self::Class*), const opt::VP::_<core::Object*>(const self::XToken::•(), "Hello World")]; |
| static const field opt::M* m = const opt::M::•(list: self::list); |
| static method main() → dynamic |
| ; |
| |
| library /*isNonNullableByDefault*/; |
| import self as opt; |
| import "dart:core" as core; |
| |
| class P<T extends core::Object> extends core::Object /*hasConstConstructor*/ { |
| final field core::Object token; |
| const constructor _(core::Object token) → opt::P<opt::P::T> |
| : opt::P::token = token, super core::Object::•() |
| ; |
| } |
| class CP<T extends core::Object> extends opt::P<opt::CP::T> /*hasConstConstructor*/ { |
| static final field dynamic _redirecting# = <dynamic>[opt::CP::•]/*isLegacy*/; |
| const constructor _(core::Object token) → opt::CP<opt::CP::T> |
| : super opt::P::_(token) |
| ; |
| static factory •<T extends core::Object>(core::Type type) → opt::CP<opt::CP::•::T> |
| return new opt::CP::_<opt::CP::•::T>(type); |
| } |
| class Token<T extends core::Object> extends core::Object /*hasConstConstructor*/ { |
| const constructor •() → opt::Token<opt::Token::T> |
| : super core::Object::•() |
| ; |
| } |
| class VP<T extends core::Object> extends opt::P<opt::VP::T> /*hasConstConstructor*/ { |
| static final field dynamic _redirecting# = <dynamic>[opt::VP::forToken]/*isLegacy*/; |
| const constructor _(core::Object token, opt::VP::T useValue) → opt::VP<opt::VP::T> |
| : super opt::P::_(token) |
| ; |
| static factory forToken<T extends core::Object>(opt::Token<opt::VP::forToken::T> token, opt::VP::forToken::T useValue) → opt::VP<opt::VP::forToken::T> |
| return new opt::VP::_<opt::VP::forToken::T>(token, useValue); |
| } |
| class M extends core::Object /*hasConstConstructor*/ { |
| final field core::List<opt::P<core::Object>> list; |
| const constructor •({core::List<opt::P<core::Object>> list = const <opt::P<core::Object>>[]}) → opt::M |
| : opt::M::list = list, super core::Object::•() |
| ; |
| } |
| |
| |
| Extra constant evaluation status: |
| Evaluated: ListLiteral @ org-dartlang-testcase:///main.dart:15:14 -> ListConstant(const <P<Object*>*>[const CP<Object*>{P.token: Class*}, const VP<Object*>{P.token: const XToken{}}]) |
| Evaluated: ConstructorInvocation @ org-dartlang-testcase:///main.dart:20:11 -> InstanceConstant(const M{M.list: const <P<Object*>*>[const CP<Object*>{P.token: Class*}, const VP<Object*>{P.token: const XToken{}}]}) |
| Evaluated: ConstructorTearOff @ org-dartlang-testcase:///opt_in_lib.dart:11:7 -> ConstructorTearOffConstant(CP.) |
| Evaluated: ConstructorTearOff @ org-dartlang-testcase:///opt_in_lib.dart:21:7 -> ConstructorTearOffConstant(VP.forToken) |
| Evaluated: ListLiteral @ org-dartlang-testcase:///opt_in_lib.dart:36:24 -> ListConstant(const <P<Object*>*>[]) |
| Extra constant evaluation: evaluated: 16, effectively constant: 5 |