blob: 918c5ae5069a0b9380fa9b5ddf3a228f4d3c477f [file] [log] [blame]
library #lib /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
class T1 extends core::Object {
synthetic constructor •() self::T1
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] method go() self::T3
return new self::T3::•();
}
class T2 extends core::Object {
synthetic constructor •() self::T2
: super core::Object::•()
;
}
class T3 extends core::Object {
synthetic constructor •() self::T3
: super core::Object::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method run() dynamic {
core::print("hi");
}
}
class Q<T extends core::Object? = dynamic> extends core::Object {
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:5] final field self::Q::T% result;
constructor •(self::Q::T% result) self::Q<self::Q::T%>
: self::Q::result = result, super core::Object::•()
;
}
static method foo1([@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::T1>] core::List<self::T1> list) dynamic {
[@vm.direct-call.metadata=#lib::T3.run] [@vm.inferred-type.metadata=!? (skip check)] [@vm.direct-call.metadata=#lib::T1.go??] [@vm.inferred-type.metadata=#lib::T3 (skip check)] [@vm.direct-call.metadata=#lib::Q.result??] [@vm.direct-call.metadata=dart._internal::ListIterable.first] [@vm.inferred-type.metadata=#lib::Q?] [@vm.direct-call.metadata=dart.collection::_ListBase&Object&ListMixin.map] [@vm.inferred-type.metadata=dart._internal::MappedListIterable<#lib::T1, ?> (skip check)] list.{core::Iterable::map}<self::Q<self::T1>>((self::T1 t1) self::Q<self::T1> => new self::Q::•<self::T1>(t1)){((self::T1) self::Q<self::T1>) core::Iterable<self::Q<self::T1>>}.{core::Iterable::first}{self::Q<self::T1>}.{self::Q::result}{self::T1}.{self::T1::go}(){() self::T3}.{self::T3::run}(){() dynamic};
}
static method foo2NewValue() self::Q<dynamic>
return new self::Q::•<self::T2>(new self::T2::•());
static method foo3NewT1() dynamic {
new self::T1::•();
}
static method main(core::List<core::String> args) dynamic {
self::foo1([@vm.inferred-type.metadata=dart.core::_GrowableList<#lib::T1>] core::_GrowableList::•<self::T1>(0));
self::foo2NewValue();
self::foo3NewT1();
}