| library #lib; |
| 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=hasDynamicUses:false,hasThisUses:false,hasTearOffUses:false] 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=hasDynamicUses:false,hasThisUses:false,hasTearOffUses:false] method run() → dynamic { |
| core::print("hi"); |
| } |
| } |
| class Q<T extends core::Object = dynamic> extends core::Object { |
| [@vm.procedure-attributes.metadata=hasDynamicUses:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false] 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.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)).{core::Iterable::first}.{self::Q::result}.{self::T1::go}().{self::T3::run}(); |
| } |
| 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(<self::T1>[]); |
| self::foo2NewValue(); |
| self::foo3NewT1(); |
| } |