blob: 7663f6b06ab6da5c99c42de2c699a46d764fd5bc [file] [log] [blame]
library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:test" as test;
import "dart:test";
static method main() dynamic {
#C1;
#C2;
#C3;
#C4;
#C5;
#C6;
#C7;
#C8;
#C9;
#C10;
#C11;
#C12;
}
library /*isNonNullableByDefault*/;
import self as test;
import "dart:core" as core;
import "dart:_internal" as _in;
import "dart:_internal";
typedef Alias<T extends core::num> = test::Class<T>;
typedef AliasImpl<T extends core::num> = test::ClassImpl<T>;
@#C13
class Class<T extends core::Object? = dynamic> extends core::Object {
static final field dynamic _redirecting# = <dynamic>[#C14, #C15]/*isLegacy*/;
@#C13
constructor •({core::bool defaultValue = #C16, required test::Class::T% value = #C17}) → test::Class<test::Class::T%>
: super core::Object::•() {
core::print("patch Class");
}
@#C13
static factory /* from org-dartlang-testcase:///patch_lib.dart */ fact<T extends core::Object? = dynamic>({core::bool defaultValue = #C16, required test::Class::fact::T% value = #C17}) → test::Class<test::Class::fact::T%>
return new test::ClassImpl::•<test::Class::fact::T%>(defaultValue: defaultValue, value: value);
@#C13
static factory /* from org-dartlang-testcase:///patch_lib.dart */ redirect<T extends core::Object? = dynamic>({core::bool defaultValue = #C17, required test::Class::redirect::T% value = #C17}) → test::Class<test::Class::redirect::T%>
return new test::ClassImpl::•<test::Class::redirect::T%>(defaultValue: defaultValue, value: value);
@#C13
static factory /* from org-dartlang-testcase:///patch_lib.dart */ redirect2<T extends core::Object? = dynamic>({core::bool defaultValue = #C17, required test::Class::redirect2::T% value = #C17}) → test::Class<test::Class::redirect2::T%>
return new test::ClassImpl::patched<test::Class::redirect2::T%>(defaultValue: defaultValue, value: value);
}
@#C13
class ClassImpl<T extends core::Object? = dynamic> extends core::Object implements test::Class<test::ClassImpl::T%> {
constructor •({core::bool defaultValue = #C16, required test::ClassImpl::T% value = #C17}) → test::ClassImpl<test::ClassImpl::T%>
: super core::Object::•()
;
@#C13
constructor patched({core::bool defaultValue = #C16, required test::ClassImpl::T% value = #C17}) → test::ClassImpl<test::ClassImpl::T%>
: super core::Object::•() {
core::print("patch ClassImpl");
}
}
static method _#Alias#new#tearOff<T extends core::num>({core::bool defaultValue = #C16, required test::_#Alias#new#tearOff::T value = #C17}) → test::Class<test::_#Alias#new#tearOff::T>
return new test::Class::•<test::_#Alias#new#tearOff::T>(defaultValue: defaultValue, value: value);
static method _#Alias#fact#tearOff<T extends core::num>({core::bool defaultValue = #C16, required test::_#Alias#fact#tearOff::T value = #C17}) → test::Class<test::_#Alias#fact#tearOff::T>
return test::Class::fact<test::_#Alias#fact#tearOff::T>(defaultValue: defaultValue, value: value);
static method _#Alias#redirect#tearOff<T extends core::num>({core::bool defaultValue = #C16, required test::_#Alias#redirect#tearOff::T value = #C17}) → test::Class<test::_#Alias#redirect#tearOff::T>
return test::Class::redirect<test::_#Alias#redirect#tearOff::T>(defaultValue: defaultValue, value: value);
static method _#Alias#redirect2#tearOff<T extends core::num>({core::bool defaultValue = #C16, required test::_#Alias#redirect2#tearOff::T value = #C17}) → test::Class<test::_#Alias#redirect2#tearOff::T>
return test::Class::redirect2<test::_#Alias#redirect2#tearOff::T>(defaultValue: defaultValue, value: value);
static method _#AliasImpl#new#tearOff<T extends core::num>({core::bool defaultValue = #C16, required test::_#AliasImpl#new#tearOff::T value = #C17}) → test::ClassImpl<test::_#AliasImpl#new#tearOff::T>
return new test::ClassImpl::•<test::_#AliasImpl#new#tearOff::T>(defaultValue: defaultValue, value: value);
static method _#AliasImpl#patched#tearOff<T extends core::num>({core::bool defaultValue = #C16, required test::_#AliasImpl#patched#tearOff::T value = #C17}) → test::ClassImpl<test::_#AliasImpl#patched#tearOff::T>
return new test::ClassImpl::patched<test::_#AliasImpl#patched#tearOff::T>(defaultValue: defaultValue, value: value);
constants {
#C1 = constructor-tearoff test::Class::•
#C2 = constructor-tearoff test::Class::fact
#C3 = redirecting-factory-tearoff test::Class::redirect
#C4 = redirecting-factory-tearoff test::Class::redirect2
#C5 = constructor-tearoff test::ClassImpl::•
#C6 = constructor-tearoff test::ClassImpl::patched
#C7 = static-tearoff test::_#Alias#new#tearOff
#C8 = static-tearoff test::_#Alias#fact#tearOff
#C9 = static-tearoff test::_#Alias#redirect#tearOff
#C10 = static-tearoff test::_#Alias#redirect2#tearOff
#C11 = static-tearoff test::_#AliasImpl#new#tearOff
#C12 = static-tearoff test::_#AliasImpl#patched#tearOff
#C13 = _in::_Patch {}
#C14 = constructor-tearoff test::Class::redirect
#C15 = constructor-tearoff test::Class::redirect2
#C16 = true
#C17 = null
}