blob: b88cd017fd29b3bd0e3cf2de6c16beb3a68d042e [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "org-dartlang-testcase:///issue46719.dart" as self;
class A<T extends core::Object? = dynamic> extends core::Object {
constructor •() self::A<self::A::T%>
: super core::Object::•()
;
constructor named() self::A<self::A::T%>
: super core::Object::•()
;
method m<X extends core::Object? = dynamic>(self::A::m::X% x) core::List<self::A::m::X%>
return <self::A::m::X%>[x];
static method n<X extends core::Object? = dynamic>(self::A::n::X% x) core::List<self::A::n::X%>
return <self::A::n::X%>[x];
}
extension FunctionApplier on core::Function {
method applyAndPrint = self::FunctionApplier|applyAndPrint;
tearoff applyAndPrint = self::FunctionApplier|get#applyAndPrint;
}
static method m<X extends core::Object? = dynamic>(self::m::X% x) core::List<self::m::X%>
return <self::m::X%>[x];
static method FunctionApplier|applyAndPrint(lowered final core::Function #this, core::List<core::Object?> positionalArguments) → void
return core::print(core::Function::apply(#this, positionalArguments, #C1));
static method FunctionApplier|get#applyAndPrint(lowered final core::Function #this) → (core::List<core::Object?>) → void
return (core::List<core::Object?> positionalArguments) void => self::FunctionApplier|applyAndPrint(#this, positionalArguments);
static method test() dynamic {
(#C3).{core::Object::toString}(){() core::String};
}
static method main() void {
self::A<dynamic> a = new self::A::•<dynamic>();
self::FunctionApplier|applyAndPrint(a.{self::A::m}{<X extends core::Object? = dynamic>(X%) core::List<X%>}<core::int>, <core::Object?>[2]);
self::FunctionApplier|applyAndPrint(a.{self::A::m}{<X extends core::Object? = dynamic>(X%) core::List<X%>}<core::String>, <core::Object?>["three"]);
self::FunctionApplier|applyAndPrint(#C5, <core::Object?>[2]);
self::FunctionApplier|applyAndPrint(#C6, <core::Object?>["three"]);
self::FunctionApplier|applyAndPrint(#C8, <core::Object?>[2]);
self::FunctionApplier|applyAndPrint(#C9, <core::Object?>["three"]);
self::FunctionApplier|applyAndPrint(#C5, <core::Object?>[2]);
self::FunctionApplier|applyAndPrint(#C6, <core::Object?>["three"]);
(#C2).{core::Object::toString}(){() core::String};
(#C3).{core::Object::toString}(){() core::String};
}
constants {
#C1 = <core::Symbol, dynamic>{)
#C2 = constructor-tearoff self::A::named
#C3 = instantiation self::A::named <core::int>
#C4 = static-tearoff self::A::n
#C5 = instantiation self::A::n <core::int>
#C6 = instantiation self::A::n <core::String>
#C7 = static-tearoff self::m
#C8 = instantiation self::m <core::int>
#C9 = instantiation self::m <core::String>
}