blob: 06c295fdc292131ea4c325bd781b4841a1b3d1fb [file] [log] [blame]
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>
let dynamic #redirecting_factory = opt::CP::_ in let opt::CP::•::T #typeArg0 = null in invalid-expression;
}
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>
let dynamic #redirecting_factory = opt::VP::_ in let opt::VP::forToken::T #typeArg0 = null in invalid-expression;
}
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: ListLiteral @ org-dartlang-testcase:///opt_in_lib.dart:36:24 -> ListConstant(const <P<Object*>*>[])
Extra constant evaluation: evaluated: 17, effectively constant: 3