| library; |
| import self as self; |
| import "opt_in_lib.dart" as opt; |
| import "dart:core" as core; |
| |
| import "org-dartlang-testcase:///opt_in_lib.dart"; |
| |
| static method main() → dynamic { |
| new opt::Class1::_<core::Object*>(); |
| new opt::Class1::_<core::Object*>(); |
| #C1; |
| opt::Class1::fact<core::Object*>(); |
| new opt::Class2::_<core::Object*>(); |
| new opt::Class2::_<core::Object*>(); |
| #C2; |
| opt::Class2::fact<core::Object*>(); |
| new opt::Class3::_<core::String*>(); |
| new opt::Class3::_<core::String*>(); |
| #C3; |
| opt::Class3::fact<core::String*>(); |
| new opt::Class4::_<dynamic>(); |
| new opt::Class4::_<dynamic>(); |
| #C4; |
| opt::Class4::fact<dynamic>(); |
| new opt::Class5::_<dynamic>(); |
| new opt::Class5::_<dynamic>(); |
| #C5; |
| opt::Class5::fact<dynamic>(); |
| opt::testOptIn(); |
| } |
| |
| library /*isNonNullableByDefault*/; |
| import self as opt; |
| import "dart:core" as core; |
| |
| class Class1<T extends core::Object? = core::Object?> extends core::Object /*hasConstConstructor*/ { |
| static field dynamic _redirecting# = <dynamic>[opt::Class1::redirect, opt::Class1::constRedirect]/*isLegacy*/; |
| const constructor _() → opt::Class1<opt::Class1::T%> |
| : super core::Object::•() |
| ; |
| static factory redirect<T extends core::Object? = core::Object?>() → opt::Class1<opt::Class1::redirect::T%> |
| let dynamic #redirecting_factory = opt::Class1::_ in let opt::Class1::redirect::T% #typeArg0 = null in invalid-expression; |
| static factory constRedirect<T extends core::Object? = core::Object?>() → opt::Class1<opt::Class1::constRedirect::T%> |
| let dynamic #redirecting_factory = opt::Class1::_ in let opt::Class1::constRedirect::T% #typeArg0 = null in invalid-expression; |
| static factory fact<T extends core::Object? = core::Object?>() → opt::Class1<opt::Class1::fact::T%> |
| return new opt::Class1::_<opt::Class1::fact::T%>(); |
| } |
| class Class2<T extends core::Object = core::Object> extends core::Object /*hasConstConstructor*/ { |
| static field dynamic _redirecting# = <dynamic>[opt::Class2::redirect, opt::Class2::constRedirect]/*isLegacy*/; |
| const constructor _() → opt::Class2<opt::Class2::T> |
| : super core::Object::•() |
| ; |
| static factory redirect<T extends core::Object = core::Object>() → opt::Class2<opt::Class2::redirect::T> |
| let dynamic #redirecting_factory = opt::Class2::_ in let opt::Class2::redirect::T #typeArg0 = null in invalid-expression; |
| static factory constRedirect<T extends core::Object = core::Object>() → opt::Class2<opt::Class2::constRedirect::T> |
| let dynamic #redirecting_factory = opt::Class2::_ in let opt::Class2::constRedirect::T #typeArg0 = null in invalid-expression; |
| static factory fact<T extends core::Object = core::Object>() → opt::Class2<opt::Class2::fact::T> |
| return new opt::Class2::_<opt::Class2::fact::T>(); |
| } |
| class Class3<T extends core::String = core::String> extends core::Object /*hasConstConstructor*/ { |
| static field dynamic _redirecting# = <dynamic>[opt::Class3::redirect, opt::Class3::constRedirect]/*isLegacy*/; |
| const constructor _() → opt::Class3<opt::Class3::T> |
| : super core::Object::•() |
| ; |
| static factory redirect<T extends core::String = core::String>() → opt::Class3<opt::Class3::redirect::T> |
| let dynamic #redirecting_factory = opt::Class3::_ in let opt::Class3::redirect::T #typeArg0 = null in invalid-expression; |
| static factory constRedirect<T extends core::String = core::String>() → opt::Class3<opt::Class3::constRedirect::T> |
| let dynamic #redirecting_factory = opt::Class3::_ in let opt::Class3::constRedirect::T #typeArg0 = null in invalid-expression; |
| static factory fact<T extends core::String = core::String>() → opt::Class3<opt::Class3::fact::T> |
| return new opt::Class3::_<opt::Class3::fact::T>(); |
| } |
| class Class4<T extends core::Object? = dynamic> extends core::Object /*hasConstConstructor*/ { |
| static field dynamic _redirecting# = <dynamic>[opt::Class4::redirect, opt::Class4::constRedirect]/*isLegacy*/; |
| const constructor _() → opt::Class4<opt::Class4::T%> |
| : super core::Object::•() |
| ; |
| static factory redirect<T extends core::Object? = dynamic>() → opt::Class4<opt::Class4::redirect::T%> |
| let dynamic #redirecting_factory = opt::Class4::_ in let opt::Class4::redirect::T% #typeArg0 = null in invalid-expression; |
| static factory constRedirect<T extends core::Object? = dynamic>() → opt::Class4<opt::Class4::constRedirect::T%> |
| let dynamic #redirecting_factory = opt::Class4::_ in let opt::Class4::constRedirect::T% #typeArg0 = null in invalid-expression; |
| static factory fact<T extends core::Object? = dynamic>() → opt::Class4<opt::Class4::fact::T%> |
| return new opt::Class4::_<opt::Class4::fact::T%>(); |
| } |
| class Class5<T extends dynamic = dynamic> extends core::Object /*hasConstConstructor*/ { |
| static field dynamic _redirecting# = <dynamic>[opt::Class5::redirect, opt::Class5::constRedirect]/*isLegacy*/; |
| const constructor _() → opt::Class5<opt::Class5::T%> |
| : super core::Object::•() |
| ; |
| static factory redirect<T extends dynamic = dynamic>() → opt::Class5<opt::Class5::redirect::T%> |
| let dynamic #redirecting_factory = opt::Class5::_ in let opt::Class5::redirect::T% #typeArg0 = null in invalid-expression; |
| static factory constRedirect<T extends dynamic = dynamic>() → opt::Class5<opt::Class5::constRedirect::T%> |
| let dynamic #redirecting_factory = opt::Class5::_ in let opt::Class5::constRedirect::T% #typeArg0 = null in invalid-expression; |
| static factory fact<T extends dynamic = dynamic>() → opt::Class5<opt::Class5::fact::T%> |
| return new opt::Class5::_<opt::Class5::fact::T%>(); |
| } |
| static method testOptIn() → dynamic { |
| new opt::Class1::_<core::Object?>(); |
| new opt::Class1::_<core::Object?>(); |
| #C1; |
| opt::Class1::fact<core::Object?>(); |
| new opt::Class2::_<core::Object>(); |
| new opt::Class2::_<core::Object>(); |
| #C2; |
| opt::Class2::fact<core::Object>(); |
| new opt::Class3::_<core::String>(); |
| new opt::Class3::_<core::String>(); |
| #C3; |
| opt::Class3::fact<core::String>(); |
| new opt::Class4::_<dynamic>(); |
| new opt::Class4::_<dynamic>(); |
| #C4; |
| opt::Class4::fact<dynamic>(); |
| new opt::Class5::_<dynamic>(); |
| new opt::Class5::_<dynamic>(); |
| #C5; |
| opt::Class5::fact<dynamic>(); |
| } |
| |
| constants { |
| #C1 = opt::Class1<core::Object*> {} |
| #C2 = opt::Class2<core::Object*> {} |
| #C3 = opt::Class3<core::String*> {} |
| #C4 = opt::Class4<dynamic> {} |
| #C5 = opt::Class5<dynamic> {} |
| } |