[cfe][PrimaryConstructors] Handle wildcard parameters in primary constructors
This handles wildcard parameters in primary constructors. If declaring, they are allow to create fields name `_`, and as parameters they cannot be read in initializers. Part of #61700 Change-Id: Ia481319c5554ae3f37436dc0ae1ff4c9eff95270 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/483803 Reviewed-by: Konstantin Shcheglov <scheglov@google.com> Commit-Queue: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
committed by
Commit Queue
parent
05186301fd
commit
f073aaa354
@@ -120,8 +120,9 @@ class FormalParameterBuilder extends NamedBuilderImpl
|
||||
|
||||
final bool isExtensionThis;
|
||||
|
||||
/// Whether this formal parameter is a wildcard variable.
|
||||
final bool isWildcard;
|
||||
/// If this is a wildcard variable, this holds the index used to create a
|
||||
/// uniquely named kernel variable for it.
|
||||
final int? _wildcardIndex;
|
||||
|
||||
final int? nameOffset;
|
||||
|
||||
@@ -137,12 +138,13 @@ class FormalParameterBuilder extends NamedBuilderImpl
|
||||
this.isExtensionThis = false,
|
||||
Token? defaultValueToken,
|
||||
required this.hasImmediatelyDeclaredInitializer,
|
||||
this.isWildcard = false,
|
||||
int? wildcardIndex,
|
||||
this.publicName,
|
||||
required this.nameOffset,
|
||||
required this.isClosureContextLoweringEnabled,
|
||||
}) : this.hasDeclaredInitializer = hasImmediatelyDeclaredInitializer,
|
||||
this._defaultValueToken = defaultValueToken {
|
||||
this._defaultValueToken = defaultValueToken,
|
||||
this._wildcardIndex = wildcardIndex {
|
||||
type.registerInferredTypeListener(this);
|
||||
}
|
||||
|
||||
@@ -177,6 +179,9 @@ class FormalParameterBuilder extends NamedBuilderImpl
|
||||
@override
|
||||
bool get isConst => modifiers.isConst;
|
||||
|
||||
/// Whether this formal parameter is a wildcard variable.
|
||||
bool get isWildcard => _wildcardIndex != null;
|
||||
|
||||
// An initializing formal parameter might be final without its
|
||||
// VariableDeclaration being final. See
|
||||
// [ProcedureBuilder.computeFormalParameterInitializerScope]..
|
||||
@@ -206,6 +211,9 @@ class FormalParameterBuilder extends NamedBuilderImpl
|
||||
// If the parameter is a private named parameter, use the public name
|
||||
// for the corresponding variable.
|
||||
_ when publicName != null => publicName,
|
||||
_ when _wildcardIndex != null => createWildcardFormalParameterName(
|
||||
_wildcardIndex,
|
||||
),
|
||||
_ => name,
|
||||
};
|
||||
|
||||
@@ -275,6 +283,12 @@ class FormalParameterBuilder extends NamedBuilderImpl
|
||||
}
|
||||
}
|
||||
|
||||
/// Creates the [FormalParameterBuilder] for a declaring parameter used in the
|
||||
/// formal parameters in a primary constructor.
|
||||
///
|
||||
/// This parameter is marked as an initializing formal whose type is inferred
|
||||
/// and replaces the original parameter in the primary constructor
|
||||
/// declaration.
|
||||
FormalParameterBuilder forPrimaryConstructor(FragmentFactory builderFactory) {
|
||||
return new FormalParameterBuilder(
|
||||
kind: kind,
|
||||
@@ -290,45 +304,11 @@ class FormalParameterBuilder extends NamedBuilderImpl
|
||||
defaultValueToken: copyDefaultValueToken(),
|
||||
hasImmediatelyDeclaredInitializer: hasImmediatelyDeclaredInitializer,
|
||||
publicName: publicName,
|
||||
wildcardIndex: _wildcardIndex,
|
||||
isClosureContextLoweringEnabled: isClosureContextLoweringEnabled,
|
||||
)..variable = variable;
|
||||
}
|
||||
|
||||
FormalParameterBuilder forFormalParameterInitializerScope() {
|
||||
if (isInitializingFormal) {
|
||||
return new FormalParameterBuilder(
|
||||
kind: kind,
|
||||
modifiers: modifiers | Modifiers.Final | Modifiers.InitializingFormal,
|
||||
type: type,
|
||||
name: name,
|
||||
fileOffset: fileOffset,
|
||||
nameOffset: nameOffset,
|
||||
fileUri: fileUri,
|
||||
isExtensionThis: isExtensionThis,
|
||||
hasImmediatelyDeclaredInitializer: hasImmediatelyDeclaredInitializer,
|
||||
publicName: publicName,
|
||||
isClosureContextLoweringEnabled: isClosureContextLoweringEnabled,
|
||||
)..variable = variable;
|
||||
} else if (isSuperInitializingFormal) {
|
||||
return new FormalParameterBuilder(
|
||||
kind: kind,
|
||||
modifiers:
|
||||
modifiers | Modifiers.Final | Modifiers.SuperInitializingFormal,
|
||||
type: type,
|
||||
name: name,
|
||||
fileOffset: fileOffset,
|
||||
nameOffset: nameOffset,
|
||||
fileUri: fileUri,
|
||||
isExtensionThis: isExtensionThis,
|
||||
hasImmediatelyDeclaredInitializer: hasImmediatelyDeclaredInitializer,
|
||||
publicName: publicName,
|
||||
isClosureContextLoweringEnabled: isClosureContextLoweringEnabled,
|
||||
)..variable = variable;
|
||||
} else {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
void finalizeInitializingFormal(
|
||||
DeclarationBuilder declarationBuilder,
|
||||
SourceConstructorBuilder constructorBuilder,
|
||||
|
||||
@@ -48,6 +48,7 @@ mixin InferableTypeBuilderMixin {
|
||||
void registerInferredTypeListener(InferredTypeListener onType) {
|
||||
if (isExplicit) return;
|
||||
if (hasType) {
|
||||
// Coverage-ignore-block(suite): Not run.
|
||||
onType.onInferredType(type);
|
||||
} else {
|
||||
(_listeners ??= []).add(onType);
|
||||
|
||||
@@ -195,7 +195,7 @@ mixin _ConstructorDeclarationMixin
|
||||
// variable in the initializer list.
|
||||
if (formal.isWildcard) continue;
|
||||
|
||||
list.add(formal.forFormalParameterInitializerScope());
|
||||
list.add(formal);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -5414,11 +5414,9 @@ class BodyBuilderImpl extends StackListenerImpl
|
||||
);
|
||||
bool isWildcard =
|
||||
libraryFeatures.wildcardVariables.isEnabled && parameterName == '_';
|
||||
int? wildcardIndex;
|
||||
if (isWildcard) {
|
||||
parameterName = createWildcardFormalParameterName(
|
||||
wildcardVariableIndex,
|
||||
);
|
||||
wildcardVariableIndex++;
|
||||
wildcardIndex = wildcardVariableIndex++;
|
||||
}
|
||||
if (memberKind.isFunctionType) {
|
||||
push(
|
||||
@@ -5439,7 +5437,7 @@ class BodyBuilderImpl extends StackListenerImpl
|
||||
nameOffset: nameOffset,
|
||||
fileUri: uri,
|
||||
hasImmediatelyDeclaredInitializer: initializerStart != null,
|
||||
isWildcard: isWildcard,
|
||||
wildcardIndex: wildcardIndex,
|
||||
publicName: publicName,
|
||||
isClosureContextLoweringEnabled: isClosureContextLoweringEnabled,
|
||||
);
|
||||
|
||||
@@ -15,7 +15,6 @@ import 'package:kernel/core_types.dart';
|
||||
import 'package:kernel/type_environment.dart';
|
||||
|
||||
import '../api_prototype/experimental_flags.dart';
|
||||
import '../api_prototype/lowering_predicates.dart';
|
||||
import '../base/compiler_context.dart';
|
||||
import '../base/constant_context.dart' show ConstantContext;
|
||||
import '../base/crash.dart';
|
||||
@@ -891,11 +890,9 @@ class Resolver {
|
||||
bool isWildcard =
|
||||
libraryFeatures.wildcardVariables.isEnabled &&
|
||||
formalName == '_';
|
||||
int? wildcardIndex;
|
||||
if (isWildcard) {
|
||||
formalName = createWildcardFormalParameterName(
|
||||
wildcardVariableIndex,
|
||||
);
|
||||
wildcardVariableIndex++;
|
||||
wildcardIndex = wildcardVariableIndex++;
|
||||
}
|
||||
return new FormalParameterBuilder(
|
||||
kind: FormalParameterKind.requiredPositional,
|
||||
@@ -906,7 +903,7 @@ class Resolver {
|
||||
fileOffset: formal.fileOffset,
|
||||
fileUri: fileUri,
|
||||
hasImmediatelyDeclaredInitializer: false,
|
||||
isWildcard: isWildcard,
|
||||
wildcardIndex: wildcardIndex,
|
||||
isClosureContextLoweringEnabled: libraryBuilder
|
||||
.loader
|
||||
.target
|
||||
|
||||
@@ -24,7 +24,9 @@ String createWildcardVariableName(int index) {
|
||||
|
||||
/// Whether the given [name] is a wildcard formal parameter.
|
||||
bool isWildcardLoweredFormalParameter(String name) {
|
||||
return name.startsWith(wildcardPrefix) && name.endsWith(wildcardFormalSuffix);
|
||||
return name.startsWith(wildcardPrefix) &&
|
||||
// Coverage-ignore(suite): Not run.
|
||||
name.endsWith(wildcardFormalSuffix);
|
||||
}
|
||||
|
||||
// Coverage-ignore(suite): Not run.
|
||||
|
||||
@@ -483,7 +483,6 @@ abstract class FragmentFactory {
|
||||
required bool hasSuper,
|
||||
required int nameOffset,
|
||||
required Token? initializerToken,
|
||||
bool lowerWildcard = false,
|
||||
});
|
||||
|
||||
ConstructorReferenceBuilder addConstructorReference(
|
||||
|
||||
@@ -2247,7 +2247,6 @@ class FragmentFactoryImpl implements FragmentFactory {
|
||||
required bool hasSuper,
|
||||
required int nameOffset,
|
||||
required Token? initializerToken,
|
||||
bool lowerWildcard = false,
|
||||
}) {
|
||||
assert(
|
||||
!hasThis || !hasSuper,
|
||||
@@ -2259,24 +2258,23 @@ class FragmentFactoryImpl implements FragmentFactory {
|
||||
if (hasSuper) {
|
||||
modifiers |= Modifiers.SuperInitializingFormal;
|
||||
}
|
||||
String formalName = name;
|
||||
bool isWildcard =
|
||||
libraryFeatures.wildcardVariables.isEnabled && formalName == '_';
|
||||
if (isWildcard && lowerWildcard) {
|
||||
formalName = createWildcardFormalParameterName(wildcardVariableIndex);
|
||||
wildcardVariableIndex++;
|
||||
libraryFeatures.wildcardVariables.isEnabled && name == '_';
|
||||
int? wildcardIndex;
|
||||
if (isWildcard) {
|
||||
wildcardIndex = wildcardVariableIndex++;
|
||||
}
|
||||
FormalParameterBuilder formal = new FormalParameterBuilder(
|
||||
kind: kind,
|
||||
modifiers: modifiers,
|
||||
type: type,
|
||||
name: formalName,
|
||||
name: name,
|
||||
nameOffset: nameOffset,
|
||||
fileOffset: nameOffset,
|
||||
fileUri: _compilationUnit.fileUri,
|
||||
defaultValueToken: initializerToken,
|
||||
hasImmediatelyDeclaredInitializer: initializerToken != null,
|
||||
isWildcard: isWildcard,
|
||||
wildcardIndex: wildcardIndex,
|
||||
publicName: publicName,
|
||||
isClosureContextLoweringEnabled: _compilationUnit
|
||||
.loader
|
||||
|
||||
@@ -3087,9 +3087,6 @@ class OutlineBuilder extends StackListenerImpl {
|
||||
hasSuper: superKeyword != null,
|
||||
nameOffset: identifier?.nameOffset ?? nameToken.charOffset,
|
||||
initializerToken: initializerStart,
|
||||
// Extension type parameters should not have a lowered name for
|
||||
// wildcard variables.
|
||||
lowerWildcard: declarationContext != DeclarationContext.ExtensionType,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -10,12 +10,12 @@ extension type Ext(core::String _) implements core::String {
|
||||
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
|
||||
}
|
||||
static const field core::String? maybe = #C5;
|
||||
static extension-type-member const method Ext|constructor#_(core::String _) → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = _;
|
||||
static extension-type-member const method Ext|constructor#_(wildcard core::String _#wc0#formal) → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _) → self::Ext /* erasure=core::String */
|
||||
return self::Ext|constructor#_(_);
|
||||
static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _#wc0#formal) → self::Ext /* erasure=core::String */
|
||||
return self::Ext|constructor#_(_#wc0#formal);
|
||||
static extension-type-member const method Ext|constructor#() → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = "OK";
|
||||
assert(!(#C5 == null), "Must not be null");
|
||||
|
||||
@@ -10,12 +10,12 @@ extension type Ext(core::String _) implements core::String {
|
||||
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
|
||||
}
|
||||
static const field core::String? maybe = #C5;
|
||||
static extension-type-member const method Ext|constructor#_(core::String _) → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = _;
|
||||
static extension-type-member const method Ext|constructor#_(wildcard core::String _#wc0#formal) → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _) → self::Ext /* erasure=core::String */
|
||||
return self::Ext|constructor#_(_);
|
||||
static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _#wc0#formal) → self::Ext /* erasure=core::String */
|
||||
return self::Ext|constructor#_(_#wc0#formal);
|
||||
static extension-type-member const method Ext|constructor#() → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = "OK";
|
||||
assert(!(#C5 == null), "Must not be null");
|
||||
|
||||
@@ -10,12 +10,12 @@ extension type Ext(core::String _) implements core::String {
|
||||
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
|
||||
}
|
||||
static const field core::String? maybe = const core::bool::fromEnvironment("not there") ?{core::String?} "string" : null;
|
||||
static extension-type-member const method Ext|constructor#_(core::String _) → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = _;
|
||||
static extension-type-member const method Ext|constructor#_(wildcard core::String _#wc0#formal) → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _) → self::Ext /* erasure=core::String */
|
||||
return self::Ext|constructor#_(_);
|
||||
static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _#wc0#formal) → self::Ext /* erasure=core::String */
|
||||
return self::Ext|constructor#_(_#wc0#formal);
|
||||
static extension-type-member const method Ext|constructor#() → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = "OK";
|
||||
assert(!(self::maybe == null), "Must not be null");
|
||||
|
||||
@@ -10,12 +10,12 @@ extension type Ext(core::String _) implements core::String {
|
||||
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
|
||||
}
|
||||
static const field core::String? maybe = #C5;
|
||||
static extension-type-member const method Ext|constructor#_(core::String _) → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = _;
|
||||
static extension-type-member const method Ext|constructor#_(wildcard core::String _#wc0#formal) → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _) → self::Ext /* erasure=core::String */
|
||||
return self::Ext|constructor#_(_);
|
||||
static extension-type-member synthetic method Ext|constructor#_#_#tearOff(core::String _#wc0#formal) → self::Ext /* erasure=core::String */
|
||||
return self::Ext|constructor#_(_#wc0#formal);
|
||||
static extension-type-member const method Ext|constructor#() → self::Ext /* erasure=core::String */ {
|
||||
lowered final self::Ext /* erasure=core::String */ #this = "OK";
|
||||
assert(!(#C5 == null), "Must not be null");
|
||||
|
||||
@@ -27,30 +27,30 @@ extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=core::Object? *
|
||||
constructor • = self::CustomJSArray|constructor#;
|
||||
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _;
|
||||
static extension-type-member method CustomJSAny|constructor#(wildcard js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_);
|
||||
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=_interceptors::JSObject */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_#wc0#formal);
|
||||
static extension-type-member method CustomJSObject|constructor#(wildcard js_::JSObject /* erasure=_interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=_interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=_interceptors::JSObject */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_);
|
||||
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=_interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_#wc1#formal);
|
||||
static extension-type-member method CustomTypedArray|constructor#(wildcard js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _#wc2#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_);
|
||||
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ #this = _;
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_#wc2#formal);
|
||||
static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ #this = _#wc3#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_);
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_#wc3#formal);
|
||||
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
|
||||
js_::NullableObjectUtilExtension|isA<js_::JSAny /* erasure=core::Object */>(any);
|
||||
js_::NullableObjectUtilExtension|isA<js_::JSAny? /* erasure=core::Object? */>(any);
|
||||
|
||||
+16
-16
@@ -27,30 +27,30 @@ extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=core::Object? *
|
||||
constructor • = self::CustomJSArray|constructor#;
|
||||
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _;
|
||||
static extension-type-member method CustomJSAny|constructor#(wildcard js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_);
|
||||
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=_interceptors::JSObject */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_#wc0#formal);
|
||||
static extension-type-member method CustomJSObject|constructor#(wildcard js_::JSObject /* erasure=_interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=_interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=_interceptors::JSObject */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_);
|
||||
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=_interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_#wc1#formal);
|
||||
static extension-type-member method CustomTypedArray|constructor#(wildcard js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _#wc2#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_);
|
||||
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ #this = _;
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_#wc2#formal);
|
||||
static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ #this = _#wc3#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_);
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_#wc3#formal);
|
||||
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
|
||||
js_::NullableObjectUtilExtension|isA<js_::JSAny /* erasure=core::Object */>(any);
|
||||
js_::NullableObjectUtilExtension|isA<js_::JSAny? /* erasure=core::Object? */>(any);
|
||||
|
||||
+12
-12
@@ -27,22 +27,22 @@ extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=core::Object? *
|
||||
constructor • = self::CustomJSArray|constructor#;
|
||||
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */
|
||||
static extension-type-member method CustomJSAny|constructor#(wildcard js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */
|
||||
;
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_);
|
||||
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_#wc0#formal);
|
||||
static extension-type-member method CustomJSObject|constructor#(wildcard js_::JSObject /* erasure=_interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=_interceptors::JSObject */
|
||||
;
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_);
|
||||
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=_interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_#wc1#formal);
|
||||
static extension-type-member method CustomTypedArray|constructor#(wildcard js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
;
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_);
|
||||
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_#wc2#formal);
|
||||
static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */
|
||||
;
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_);
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_#wc3#formal);
|
||||
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void
|
||||
;
|
||||
static method main() → void
|
||||
|
||||
+16
-16
@@ -28,30 +28,30 @@ extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=core::Object? *
|
||||
constructor • = self::CustomJSArray|constructor#;
|
||||
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _;
|
||||
static extension-type-member method CustomJSAny|constructor#(wildcard js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_);
|
||||
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=_interceptors::JSObject */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_#wc0#formal);
|
||||
static extension-type-member method CustomJSObject|constructor#(wildcard js_::JSObject /* erasure=_interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=_interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=_interceptors::JSObject */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _) → self::CustomJSObject /* erasure=_interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_);
|
||||
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=_interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=_interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_#wc1#formal);
|
||||
static extension-type-member method CustomTypedArray|constructor#(wildcard js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _#wc2#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_);
|
||||
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ #this = _;
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_#wc2#formal);
|
||||
static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */ #this = _#wc3#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_);
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=_interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=_interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_#wc3#formal);
|
||||
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
|
||||
js_::_isJSAny(any);
|
||||
js_::_isNullableJSAny(any);
|
||||
|
||||
@@ -47,12 +47,12 @@ static method main() → void {
|
||||
#t4.{core::List::add}{Invariant}(new self::C::v1()){(self::C) → void};
|
||||
} =>#t4;
|
||||
}
|
||||
static extension-type-member const method E|constructor#_(core::int? _) → self::E% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::E% /* erasure=core::int?, declared=! */ #this = _;
|
||||
static extension-type-member const method E|constructor#_(wildcard core::int? _#wc0#formal) → self::E% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::E% /* erasure=core::int?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method E|constructor#_#_#tearOff(core::int? _) → self::E% /* erasure=core::int?, declared=! */
|
||||
return self::E|constructor#_(_);
|
||||
static extension-type-member synthetic method E|constructor#_#_#tearOff(core::int? _#wc0#formal) → self::E% /* erasure=core::int?, declared=! */
|
||||
return self::E|constructor#_(_#wc0#formal);
|
||||
static extension-type-member const method E|constructor#vn() → self::E% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::E% /* erasure=core::int?, declared=! */ #this;
|
||||
#this = self::E|constructor#_(null);
|
||||
|
||||
@@ -44,12 +44,12 @@ static method main() → void {
|
||||
#t4.{core::List::add}{Invariant}(new self::C::v1()){(self::C) → void};
|
||||
} =>#t4;
|
||||
}
|
||||
static extension-type-member const method E|constructor#_(final core::int? _) → self::E% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::E% /* erasure=core::int?, declared=! */ #this = _;
|
||||
static extension-type-member const method E|constructor#_(final wildcard core::int? _#wc0#formal) → self::E% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::E% /* erasure=core::int?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method E|constructor#_#_#tearOff(final core::int? _) → self::E% /* erasure=core::int?, declared=! */
|
||||
return self::E|constructor#_(_);
|
||||
static extension-type-member synthetic method E|constructor#_#_#tearOff(final core::int? _#wc0#formal) → self::E% /* erasure=core::int?, declared=! */
|
||||
return self::E|constructor#_(_#wc0#formal);
|
||||
static extension-type-member const method E|constructor#vn() → self::E% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::E% /* erasure=core::int?, declared=! */ #this;
|
||||
#this = self::E|constructor#_(null);
|
||||
|
||||
@@ -27,30 +27,30 @@ extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=core::Object? *
|
||||
constructor • = self::CustomJSArray|constructor#;
|
||||
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _;
|
||||
static extension-type-member method CustomJSAny|constructor#(wildcard js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_);
|
||||
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=dart._interceptors::JSObject */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_#wc0#formal);
|
||||
static extension-type-member method CustomJSObject|constructor#(wildcard js_::JSObject /* erasure=dart._interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=dart._interceptors::JSObject */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_);
|
||||
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_#wc1#formal);
|
||||
static extension-type-member method CustomTypedArray|constructor#(wildcard js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _#wc2#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_);
|
||||
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ #this = _;
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_#wc2#formal);
|
||||
static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ #this = _#wc3#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_);
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_#wc3#formal);
|
||||
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
|
||||
js_::NullableObjectUtilExtension|isA<js_::JSAny /* erasure=core::Object */>(any);
|
||||
js_::NullableObjectUtilExtension|isA<js_::JSAny? /* erasure=core::Object? */>(any);
|
||||
|
||||
+16
-16
@@ -27,30 +27,30 @@ extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=core::Object? *
|
||||
constructor • = self::CustomJSArray|constructor#;
|
||||
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _;
|
||||
static extension-type-member method CustomJSAny|constructor#(wildcard js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_);
|
||||
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=dart._interceptors::JSObject */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_#wc0#formal);
|
||||
static extension-type-member method CustomJSObject|constructor#(wildcard js_::JSObject /* erasure=dart._interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=dart._interceptors::JSObject */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_);
|
||||
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_#wc1#formal);
|
||||
static extension-type-member method CustomTypedArray|constructor#(wildcard js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _#wc2#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_);
|
||||
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ #this = _;
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_#wc2#formal);
|
||||
static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ #this = _#wc3#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_);
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_#wc3#formal);
|
||||
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
|
||||
js_::NullableObjectUtilExtension|isA<js_::JSAny /* erasure=core::Object */>(any);
|
||||
js_::NullableObjectUtilExtension|isA<js_::JSAny? /* erasure=core::Object? */>(any);
|
||||
|
||||
+12
-12
@@ -27,22 +27,22 @@ extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=core::Object? *
|
||||
constructor • = self::CustomJSArray|constructor#;
|
||||
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */
|
||||
static extension-type-member method CustomJSAny|constructor#(wildcard js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */
|
||||
;
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_);
|
||||
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_#wc0#formal);
|
||||
static extension-type-member method CustomJSObject|constructor#(wildcard js_::JSObject /* erasure=dart._interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
|
||||
;
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_);
|
||||
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_#wc1#formal);
|
||||
static extension-type-member method CustomTypedArray|constructor#(wildcard js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
;
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_);
|
||||
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_#wc2#formal);
|
||||
static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */
|
||||
;
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_);
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_#wc3#formal);
|
||||
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void
|
||||
;
|
||||
static method main() → void
|
||||
|
||||
+16
-16
@@ -28,30 +28,30 @@ extension type CustomJSArray(js_::JSArray<js_::JSAny? /* erasure=core::Object? *
|
||||
constructor • = self::CustomJSArray|constructor#;
|
||||
constructor tearoff • = self::CustomJSArray|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method CustomJSAny|constructor#(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _;
|
||||
static extension-type-member method CustomJSAny|constructor#(wildcard js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */ {
|
||||
lowered final self::CustomJSAny /* erasure=core::Object */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_);
|
||||
static extension-type-member method CustomJSObject|constructor#(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=dart._interceptors::JSObject */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSAny|constructor#_#new#tearOff(js_::JSAny /* erasure=core::Object */ _#wc0#formal) → self::CustomJSAny /* erasure=core::Object */
|
||||
return self::CustomJSAny|constructor#(_#wc0#formal);
|
||||
static extension-type-member method CustomJSObject|constructor#(wildcard js_::JSObject /* erasure=dart._interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */ {
|
||||
lowered final self::CustomJSObject /* erasure=dart._interceptors::JSObject */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_);
|
||||
static extension-type-member method CustomTypedArray|constructor#(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _;
|
||||
static extension-type-member synthetic method CustomJSObject|constructor#_#new#tearOff(js_::JSObject /* erasure=dart._interceptors::JSObject */ _#wc1#formal) → self::CustomJSObject /* erasure=dart._interceptors::JSObject */
|
||||
return self::CustomJSObject|constructor#(_#wc1#formal);
|
||||
static extension-type-member method CustomTypedArray|constructor#(wildcard js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ {
|
||||
lowered final self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ #this = _#wc2#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_);
|
||||
static extension-type-member method CustomJSArray|constructor#(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ #this = _;
|
||||
static extension-type-member synthetic method CustomTypedArray|constructor#_#new#tearOff(js_::JSTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */ _#wc2#formal) → self::CustomTypedArray /* erasure=dart.typed_data.implementation::NativeTypedData */
|
||||
return self::CustomTypedArray|constructor#(_#wc2#formal);
|
||||
static extension-type-member method CustomJSArray|constructor#(wildcard js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ {
|
||||
lowered final self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */ #this = _#wc3#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_);
|
||||
static extension-type-member synthetic method CustomJSArray|constructor#_#new#tearOff(js_::JSArray<js_::JSAny? /* erasure=core::Object? */> /* erasure=dart._interceptors::JSArray<core::Object?> */ _#wc3#formal) → self::CustomJSArray /* erasure=dart._interceptors::JSArray<core::Object?> */
|
||||
return self::CustomJSArray|constructor#(_#wc3#formal);
|
||||
static method test(js_::JSAny /* erasure=core::Object */ any, js_::JSAny? /* erasure=core::Object? */ nullableAny, core::Object obj, core::Object? nullableObj) → void {
|
||||
js_::_isJSAny(any);
|
||||
js_::_isNullableJSAny(any);
|
||||
|
||||
@@ -29,12 +29,12 @@ extension type ET1(self::A1 _) implements self::A1 {
|
||||
constructor • = self::ET1|constructor#;
|
||||
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET1|constructor#(self::A1 _) → self::ET1 /* erasure=self::A1 */ {
|
||||
lowered final self::ET1 /* erasure=self::A1 */ #this = _;
|
||||
static extension-type-member method ET1|constructor#(wildcard self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */ {
|
||||
lowered final self::ET1 /* erasure=self::A1 */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _) → self::ET1 /* erasure=self::A1 */
|
||||
return self::ET1|constructor#(_);
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */
|
||||
return self::ET1|constructor#(_#wc0#formal);
|
||||
static method main() → void {
|
||||
core::Object o = #C4;
|
||||
core::print(new self::C1::•() =={self::C1::==}{(core::Object) → core::bool} #C2);
|
||||
|
||||
@@ -29,12 +29,12 @@ extension type ET1(self::A1 _) implements self::A1 {
|
||||
constructor • = self::ET1|constructor#;
|
||||
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET1|constructor#(self::A1 _) → self::ET1 /* erasure=self::A1 */ {
|
||||
lowered final self::ET1 /* erasure=self::A1 */ #this = _;
|
||||
static extension-type-member method ET1|constructor#(wildcard self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */ {
|
||||
lowered final self::ET1 /* erasure=self::A1 */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _) → self::ET1 /* erasure=self::A1 */
|
||||
return self::ET1|constructor#(_);
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */
|
||||
return self::ET1|constructor#(_#wc0#formal);
|
||||
static method main() → void {
|
||||
core::Object o = #C4;
|
||||
core::print(new self::C1::•() =={self::C1::==}{(core::Object) → core::bool} #C2);
|
||||
|
||||
@@ -26,10 +26,10 @@ extension type ET1(self::A1 _) implements self::A1 {
|
||||
constructor • = self::ET1|constructor#;
|
||||
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET1|constructor#(self::A1 _) → self::ET1 /* erasure=self::A1 */
|
||||
static extension-type-member method ET1|constructor#(wildcard self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */
|
||||
;
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _) → self::ET1 /* erasure=self::A1 */
|
||||
return self::ET1|constructor#(_);
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */
|
||||
return self::ET1|constructor#(_#wc0#formal);
|
||||
static method main() → void
|
||||
;
|
||||
|
||||
|
||||
@@ -29,12 +29,12 @@ extension type ET1(self::A1 _) implements self::A1 {
|
||||
constructor • = self::ET1|constructor#;
|
||||
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET1|constructor#(self::A1 _) → self::ET1 /* erasure=self::A1 */ {
|
||||
lowered final self::ET1 /* erasure=self::A1 */ #this = _;
|
||||
static extension-type-member method ET1|constructor#(wildcard self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */ {
|
||||
lowered final self::ET1 /* erasure=self::A1 */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _) → self::ET1 /* erasure=self::A1 */
|
||||
return self::ET1|constructor#(_);
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(self::A1 _#wc0#formal) → self::ET1 /* erasure=self::A1 */
|
||||
return self::ET1|constructor#(_#wc0#formal);
|
||||
static method main() → void {
|
||||
core::Object o = #C4;
|
||||
core::print(new self::C1::•() =={self::C1::==}{(core::Object) → core::bool} #C2);
|
||||
|
||||
@@ -6,12 +6,12 @@ extension type N(Null _) {
|
||||
constructor • = self::N|constructor#;
|
||||
constructor tearoff • = self::N|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member const method N|constructor#(Null _) → self::N% /* erasure=Null, declared=! */ {
|
||||
lowered final self::N% /* erasure=Null, declared=! */ #this = _;
|
||||
static extension-type-member const method N|constructor#(wildcard Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */ {
|
||||
lowered final self::N% /* erasure=Null, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _) → self::N% /* erasure=Null, declared=! */
|
||||
return self::N|constructor#(_);
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */
|
||||
return self::N|constructor#(_#wc0#formal);
|
||||
static method main() → void {
|
||||
self::N% /* erasure=Null, declared=! */ n = self::N|constructor#(null);
|
||||
const has-declared-initializer self::N% /* erasure=Null, declared=! */ cn = #C1;
|
||||
|
||||
@@ -6,12 +6,12 @@ extension type N(Null _) {
|
||||
constructor • = self::N|constructor#;
|
||||
constructor tearoff • = self::N|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member const method N|constructor#(Null _) → self::N% /* erasure=Null, declared=! */ {
|
||||
lowered final self::N% /* erasure=Null, declared=! */ #this = _;
|
||||
static extension-type-member const method N|constructor#(wildcard Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */ {
|
||||
lowered final self::N% /* erasure=Null, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _) → self::N% /* erasure=Null, declared=! */
|
||||
return self::N|constructor#(_);
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */
|
||||
return self::N|constructor#(_#wc0#formal);
|
||||
static method main() → void {
|
||||
self::N% /* erasure=Null, declared=! */ n = self::N|constructor#(null);
|
||||
const has-declared-initializer self::N% /* erasure=Null, declared=! */ cn = #C1;
|
||||
|
||||
@@ -6,11 +6,11 @@ extension type N(Null _) {
|
||||
constructor • = self::N|constructor#;
|
||||
constructor tearoff • = self::N|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member const method N|constructor#(Null _) → self::N% /* erasure=Null, declared=! */ {
|
||||
lowered final self::N% /* erasure=Null, declared=! */ #this = _;
|
||||
static extension-type-member const method N|constructor#(wildcard Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */ {
|
||||
lowered final self::N% /* erasure=Null, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _) → self::N% /* erasure=Null, declared=! */
|
||||
return self::N|constructor#(_);
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */
|
||||
return self::N|constructor#(_#wc0#formal);
|
||||
static method main() → void
|
||||
;
|
||||
|
||||
@@ -6,12 +6,12 @@ extension type N(Null _) {
|
||||
constructor • = self::N|constructor#;
|
||||
constructor tearoff • = self::N|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member const method N|constructor#(Null _) → self::N% /* erasure=Null, declared=! */ {
|
||||
lowered final self::N% /* erasure=Null, declared=! */ #this = _;
|
||||
static extension-type-member const method N|constructor#(wildcard Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */ {
|
||||
lowered final self::N% /* erasure=Null, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _) → self::N% /* erasure=Null, declared=! */
|
||||
return self::N|constructor#(_);
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(Null _#wc0#formal) → self::N% /* erasure=Null, declared=! */
|
||||
return self::N|constructor#(_#wc0#formal);
|
||||
static method main() → void {
|
||||
self::N% /* erasure=Null, declared=! */ n = self::N|constructor#(null);
|
||||
const has-declared-initializer self::N% /* erasure=Null, declared=! */ cn = #C1;
|
||||
|
||||
@@ -9,12 +9,12 @@ extension type ET<T extends core::Object? = dynamic>(T% _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#<T extends core::Object? = dynamic>(self::ET|constructor#::T% _) → self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ {
|
||||
lowered final self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _;
|
||||
static extension-type-member method ET|constructor#<T extends core::Object? = dynamic>(wildcard self::ET|constructor#::T% _#wc0#formal) → self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ {
|
||||
lowered final self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET|constructor#_#new#tearOff::T% _) → self::ET<self::ET|constructor#_#new#tearOff::T%>% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::ET|constructor#<self::ET|constructor#_#new#tearOff::T%>(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET|constructor#_#new#tearOff::T% _#wc0#formal) → self::ET<self::ET|constructor#_#new#tearOff::T%>% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::ET|constructor#<self::ET|constructor#_#new#tearOff::T%>(_#wc0#formal);
|
||||
static extension-type-member method ET|test<T extends core::Object? = dynamic>(lowered final self::ET<self::ET|test::T%>% /* erasure=self::ET|test::T%, declared=! */ #this) → void {}
|
||||
static extension-type-member method ET|get#test<T extends core::Object? = dynamic>(lowered final self::ET<self::ET|get#test::T%>% /* erasure=self::ET|get#test::T%, declared=! */ #this) → () → void
|
||||
return () → void => self::ET|test<self::ET|get#test::T%>(#this);
|
||||
|
||||
@@ -9,12 +9,12 @@ extension type ET<T extends core::Object? = dynamic>(T% _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#<T extends core::Object? = dynamic>(self::ET|constructor#::T% _) → self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ {
|
||||
lowered final self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _;
|
||||
static extension-type-member method ET|constructor#<T extends core::Object? = dynamic>(wildcard self::ET|constructor#::T% _#wc0#formal) → self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ {
|
||||
lowered final self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET|constructor#_#new#tearOff::T% _) → self::ET<self::ET|constructor#_#new#tearOff::T%>% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::ET|constructor#<self::ET|constructor#_#new#tearOff::T%>(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET|constructor#_#new#tearOff::T% _#wc0#formal) → self::ET<self::ET|constructor#_#new#tearOff::T%>% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::ET|constructor#<self::ET|constructor#_#new#tearOff::T%>(_#wc0#formal);
|
||||
static extension-type-member method ET|test<T extends core::Object? = dynamic>(lowered final self::ET<self::ET|test::T%>% /* erasure=self::ET|test::T%, declared=! */ #this) → void {}
|
||||
static extension-type-member method ET|get#test<T extends core::Object? = dynamic>(lowered final self::ET<self::ET|get#test::T%>% /* erasure=self::ET|get#test::T%, declared=! */ #this) → () → void
|
||||
return () → void => self::ET|test<self::ET|get#test::T%>(#this);
|
||||
|
||||
@@ -9,10 +9,10 @@ extension type ET<T extends core::Object? = dynamic>(T% _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#<T extends core::Object? = dynamic>(self::ET|constructor#::T% _) → self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */
|
||||
static extension-type-member method ET|constructor#<T extends core::Object? = dynamic>(wildcard self::ET|constructor#::T% _#wc0#formal) → self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET|constructor#_#new#tearOff::T% _) → self::ET<self::ET|constructor#_#new#tearOff::T%>% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::ET|constructor#<self::ET|constructor#_#new#tearOff::T%>(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET|constructor#_#new#tearOff::T% _#wc0#formal) → self::ET<self::ET|constructor#_#new#tearOff::T%>% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::ET|constructor#<self::ET|constructor#_#new#tearOff::T%>(_#wc0#formal);
|
||||
static extension-type-member method ET|test<T extends core::Object? = dynamic>(lowered final self::ET<self::ET|test::T%>% /* erasure=self::ET|test::T%, declared=! */ #this) → void
|
||||
;
|
||||
static extension-type-member method ET|get#test<T extends core::Object? = dynamic>(lowered final self::ET<self::ET|get#test::T%>% /* erasure=self::ET|get#test::T%, declared=! */ #this) → () → void
|
||||
|
||||
@@ -9,12 +9,12 @@ extension type ET<T extends core::Object? = dynamic>(T% _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#<T extends core::Object? = dynamic>(self::ET|constructor#::T% _) → self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ {
|
||||
lowered final self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _;
|
||||
static extension-type-member method ET|constructor#<T extends core::Object? = dynamic>(wildcard self::ET|constructor#::T% _#wc0#formal) → self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ {
|
||||
lowered final self::ET<self::ET|constructor#::T%>% /* erasure=self::ET|constructor#::T%, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET|constructor#_#new#tearOff::T% _) → self::ET<self::ET|constructor#_#new#tearOff::T%>% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::ET|constructor#<self::ET|constructor#_#new#tearOff::T%>(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::ET|constructor#_#new#tearOff::T% _#wc0#formal) → self::ET<self::ET|constructor#_#new#tearOff::T%>% /* erasure=self::ET|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::ET|constructor#<self::ET|constructor#_#new#tearOff::T%>(_#wc0#formal);
|
||||
static extension-type-member method ET|test<T extends core::Object? = dynamic>(lowered final self::ET<self::ET|test::T%>% /* erasure=self::ET|test::T%, declared=! */ #this) → void {}
|
||||
static extension-type-member method ET|get#test<T extends core::Object? = dynamic>(lowered final self::ET<self::ET|get#test::T%>% /* erasure=self::ET|get#test::T%, declared=! */ #this) → () → void
|
||||
return () → void => self::ET|test<self::ET|get#test::T%>(#this);
|
||||
|
||||
@@ -28,12 +28,12 @@ static extension-type-member const method E|constructor#cast<T extends core::Obj
|
||||
}
|
||||
static extension-type-member synthetic method E|constructor#_#cast#tearOff<T extends core::Object? = dynamic>(core::Object? v) → self::E<self::E|constructor#_#cast#tearOff::T%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E|constructor#cast<self::E|constructor#_#cast#tearOff::T%>(v);
|
||||
static extension-type-member const method TypeOf|constructor#<T extends core::Object? = dynamic>(self::TypeOf|constructor#::T% _) → self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
|
||||
lowered final self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _;
|
||||
static extension-type-member const method TypeOf|constructor#<T extends core::Object? = dynamic>(wildcard self::TypeOf|constructor#::T% _#wc0#formal) → self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
|
||||
lowered final self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::TypeOf|constructor#_#new#tearOff::T% _) → self::TypeOf<self::TypeOf|constructor#_#new#tearOff::T%>% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::TypeOf|constructor#<self::TypeOf|constructor#_#new#tearOff::T%>(_);
|
||||
static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::TypeOf|constructor#_#new#tearOff::T% _#wc0#formal) → self::TypeOf<self::TypeOf|constructor#_#new#tearOff::T%>% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::TypeOf|constructor#<self::TypeOf|constructor#_#new#tearOff::T%>(_#wc0#formal);
|
||||
static method main() → void {
|
||||
#C1;
|
||||
#C1;
|
||||
|
||||
@@ -28,12 +28,12 @@ static extension-type-member const method E|constructor#cast<T extends core::Obj
|
||||
}
|
||||
static extension-type-member synthetic method E|constructor#_#cast#tearOff<T extends core::Object? = dynamic>(core::Object? v) → self::E<self::E|constructor#_#cast#tearOff::T%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E|constructor#cast<self::E|constructor#_#cast#tearOff::T%>(v);
|
||||
static extension-type-member const method TypeOf|constructor#<T extends core::Object? = dynamic>(self::TypeOf|constructor#::T% _) → self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
|
||||
lowered final self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _;
|
||||
static extension-type-member const method TypeOf|constructor#<T extends core::Object? = dynamic>(wildcard self::TypeOf|constructor#::T% _#wc0#formal) → self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
|
||||
lowered final self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::TypeOf|constructor#_#new#tearOff::T% _) → self::TypeOf<self::TypeOf|constructor#_#new#tearOff::T%>% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::TypeOf|constructor#<self::TypeOf|constructor#_#new#tearOff::T%>(_);
|
||||
static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::TypeOf|constructor#_#new#tearOff::T% _#wc0#formal) → self::TypeOf<self::TypeOf|constructor#_#new#tearOff::T%>% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::TypeOf|constructor#<self::TypeOf|constructor#_#new#tearOff::T%>(_#wc0#formal);
|
||||
static method main() → void {
|
||||
#C1;
|
||||
#C1;
|
||||
|
||||
@@ -28,11 +28,11 @@ static extension-type-member const method E|constructor#cast<T extends core::Obj
|
||||
}
|
||||
static extension-type-member synthetic method E|constructor#_#cast#tearOff<T extends core::Object? = dynamic>(core::Object? v) → self::E<self::E|constructor#_#cast#tearOff::T%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E|constructor#cast<self::E|constructor#_#cast#tearOff::T%>(v);
|
||||
static extension-type-member const method TypeOf|constructor#<T extends core::Object? = dynamic>(self::TypeOf|constructor#::T% _) → self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
|
||||
lowered final self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _;
|
||||
static extension-type-member const method TypeOf|constructor#<T extends core::Object? = dynamic>(wildcard self::TypeOf|constructor#::T% _#wc0#formal) → self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
|
||||
lowered final self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::TypeOf|constructor#_#new#tearOff::T% _) → self::TypeOf<self::TypeOf|constructor#_#new#tearOff::T%>% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::TypeOf|constructor#<self::TypeOf|constructor#_#new#tearOff::T%>(_);
|
||||
static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::TypeOf|constructor#_#new#tearOff::T% _#wc0#formal) → self::TypeOf<self::TypeOf|constructor#_#new#tearOff::T%>% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::TypeOf|constructor#<self::TypeOf|constructor#_#new#tearOff::T%>(_#wc0#formal);
|
||||
static method main() → void
|
||||
;
|
||||
|
||||
@@ -28,12 +28,12 @@ static extension-type-member const method E|constructor#cast<T extends core::Obj
|
||||
}
|
||||
static extension-type-member synthetic method E|constructor#_#cast#tearOff<T extends core::Object? = dynamic>(core::Object? v) → self::E<self::E|constructor#_#cast#tearOff::T%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E|constructor#cast<self::E|constructor#_#cast#tearOff::T%>(v);
|
||||
static extension-type-member const method TypeOf|constructor#<T extends core::Object? = dynamic>(self::TypeOf|constructor#::T% _) → self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
|
||||
lowered final self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _;
|
||||
static extension-type-member const method TypeOf|constructor#<T extends core::Object? = dynamic>(wildcard self::TypeOf|constructor#::T% _#wc0#formal) → self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ {
|
||||
lowered final self::TypeOf<self::TypeOf|constructor#::T%>% /* erasure=self::TypeOf|constructor#::T%, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::TypeOf|constructor#_#new#tearOff::T% _) → self::TypeOf<self::TypeOf|constructor#_#new#tearOff::T%>% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::TypeOf|constructor#<self::TypeOf|constructor#_#new#tearOff::T%>(_);
|
||||
static extension-type-member synthetic method TypeOf|constructor#_#new#tearOff<T extends core::Object? = dynamic>(self::TypeOf|constructor#_#new#tearOff::T% _#wc0#formal) → self::TypeOf<self::TypeOf|constructor#_#new#tearOff::T%>% /* erasure=self::TypeOf|constructor#_#new#tearOff::T%, declared=! */
|
||||
return self::TypeOf|constructor#<self::TypeOf|constructor#_#new#tearOff::T%>(_#wc0#formal);
|
||||
static method main() → void {
|
||||
#C1;
|
||||
#C1;
|
||||
|
||||
@@ -8,12 +8,12 @@ extension type Ext(core::Object? _) {
|
||||
constructor • = self::Ext|constructor#;
|
||||
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method Ext|constructor#(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member method Ext|constructor#(wildcard core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */
|
||||
return self::Ext|constructor#(_);
|
||||
static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */
|
||||
return self::Ext|constructor#(_#wc0#formal);
|
||||
static extension-type-member method Ext|get#value(lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this) → core::int
|
||||
return 42;
|
||||
static method main() → void {
|
||||
|
||||
@@ -8,12 +8,12 @@ extension type Ext(core::Object? _) {
|
||||
constructor • = self::Ext|constructor#;
|
||||
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method Ext|constructor#(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member method Ext|constructor#(wildcard core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */
|
||||
return self::Ext|constructor#(_);
|
||||
static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */
|
||||
return self::Ext|constructor#(_#wc0#formal);
|
||||
static extension-type-member method Ext|get#value(lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this) → core::int
|
||||
return 42;
|
||||
static method main() → void {
|
||||
|
||||
@@ -8,10 +8,10 @@ extension type Ext(core::Object? _) {
|
||||
constructor • = self::Ext|constructor#;
|
||||
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method Ext|constructor#(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */
|
||||
static extension-type-member method Ext|constructor#(wildcard core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */
|
||||
return self::Ext|constructor#(_);
|
||||
static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */
|
||||
return self::Ext|constructor#(_#wc0#formal);
|
||||
static extension-type-member method Ext|get#value(lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this) → core::int
|
||||
;
|
||||
static method main() → void
|
||||
|
||||
@@ -8,12 +8,12 @@ extension type Ext(core::Object? _) {
|
||||
constructor • = self::Ext|constructor#;
|
||||
constructor tearoff • = self::Ext|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method Ext|constructor#(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member method Ext|constructor#(wildcard core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _) → self::Ext% /* erasure=core::Object?, declared=! */
|
||||
return self::Ext|constructor#(_);
|
||||
static extension-type-member synthetic method Ext|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::Ext% /* erasure=core::Object?, declared=! */
|
||||
return self::Ext|constructor#(_#wc0#formal);
|
||||
static extension-type-member method Ext|get#value(lowered final self::Ext% /* erasure=core::Object?, declared=! */ #this) → core::int
|
||||
return 42;
|
||||
static method main() → void {
|
||||
|
||||
@@ -30,12 +30,12 @@ static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /*
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> m3s4 = #C13;
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> ms43 = #C14;
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> ms3s4 = #C13;
|
||||
static extension-type-member const method ExInt|constructor#(core::int _) → self::ExInt /* erasure=core::int */ {
|
||||
lowered final self::ExInt /* erasure=core::int */ #this = _;
|
||||
static extension-type-member const method ExInt|constructor#(wildcard core::int _#wc0#formal) → self::ExInt /* erasure=core::int */ {
|
||||
lowered final self::ExInt /* erasure=core::int */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _) → self::ExInt /* erasure=core::int */
|
||||
return self::ExInt|constructor#(_);
|
||||
static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _#wc0#formal) → self::ExInt /* erasure=core::int */
|
||||
return self::ExInt|constructor#(_#wc0#formal);
|
||||
|
||||
constants {
|
||||
#C1 = 3
|
||||
|
||||
@@ -30,12 +30,12 @@ static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /*
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> m3s4 = #C13;
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> ms43 = #C14;
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> ms3s4 = #C13;
|
||||
static extension-type-member const method ExInt|constructor#(core::int _) → self::ExInt /* erasure=core::int */ {
|
||||
lowered final self::ExInt /* erasure=core::int */ #this = _;
|
||||
static extension-type-member const method ExInt|constructor#(wildcard core::int _#wc0#formal) → self::ExInt /* erasure=core::int */ {
|
||||
lowered final self::ExInt /* erasure=core::int */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _) → self::ExInt /* erasure=core::int */
|
||||
return self::ExInt|constructor#(_);
|
||||
static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _#wc0#formal) → self::ExInt /* erasure=core::int */
|
||||
return self::ExInt|constructor#(_#wc0#formal);
|
||||
|
||||
constants {
|
||||
#C1 = 3
|
||||
|
||||
@@ -30,12 +30,12 @@ static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /*
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> m3s4 = const <self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */>{self::ex3: self::ex3} + self::m4;
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> ms43 = self::m4 + const <self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */>{self::ex3: self::ex3};
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> ms3s4 = self::m3 + self::m4;
|
||||
static extension-type-member const method ExInt|constructor#(core::int _) → self::ExInt /* erasure=core::int */ {
|
||||
lowered final self::ExInt /* erasure=core::int */ #this = _;
|
||||
static extension-type-member const method ExInt|constructor#(wildcard core::int _#wc0#formal) → self::ExInt /* erasure=core::int */ {
|
||||
lowered final self::ExInt /* erasure=core::int */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _) → self::ExInt /* erasure=core::int */
|
||||
return self::ExInt|constructor#(_);
|
||||
static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _#wc0#formal) → self::ExInt /* erasure=core::int */
|
||||
return self::ExInt|constructor#(_#wc0#formal);
|
||||
|
||||
|
||||
Extra constant evaluation status:
|
||||
|
||||
@@ -30,12 +30,12 @@ static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /*
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> m3s4 = #C13;
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> ms43 = #C14;
|
||||
static const field core::Map<self::ExInt /* erasure=core::int */, self::ExInt /* erasure=core::int */> ms3s4 = #C13;
|
||||
static extension-type-member const method ExInt|constructor#(core::int _) → self::ExInt /* erasure=core::int */ {
|
||||
lowered final self::ExInt /* erasure=core::int */ #this = _;
|
||||
static extension-type-member const method ExInt|constructor#(wildcard core::int _#wc0#formal) → self::ExInt /* erasure=core::int */ {
|
||||
lowered final self::ExInt /* erasure=core::int */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _) → self::ExInt /* erasure=core::int */
|
||||
return self::ExInt|constructor#(_);
|
||||
static extension-type-member synthetic method ExInt|constructor#_#new#tearOff(core::int _#wc0#formal) → self::ExInt /* erasure=core::int */
|
||||
return self::ExInt|constructor#(_#wc0#formal);
|
||||
|
||||
constants {
|
||||
#C1 = 3
|
||||
|
||||
@@ -32,21 +32,21 @@ extension type E3<X extends core::Object? = dynamic, Y extends core::Object? = d
|
||||
constructor • = self::E3|constructor#;
|
||||
constructor tearoff • = self::E3|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method E1|constructor#<E1 extends core::Object? = dynamic>(core::Object? _) → self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member method E1|constructor#<E1 extends core::Object? = dynamic>(wildcard core::Object? _#wc0#formal) → self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method E1|constructor#_#new#tearOff<E1 extends core::Object? = dynamic>(core::Object? _) → self::E1<self::E1|constructor#_#new#tearOff::E1%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E1|constructor#<self::E1|constructor#_#new#tearOff::E1%>(_);
|
||||
static extension-type-member method E2|constructor#<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _) → self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member synthetic method E1|constructor#_#new#tearOff<E1 extends core::Object? = dynamic>(core::Object? _#wc0#formal) → self::E1<self::E1|constructor#_#new#tearOff::E1%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E1|constructor#<self::E1|constructor#_#new#tearOff::E1%>(_#wc0#formal);
|
||||
static extension-type-member method E2|constructor#<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(wildcard core::Object? _#wc1#formal) → self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method E2|constructor#_#new#tearOff<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _) → self::E2<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>(_);
|
||||
static extension-type-member method E3|constructor#<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _) → self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member synthetic method E2|constructor#_#new#tearOff<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _#wc1#formal) → self::E2<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>(_#wc1#formal);
|
||||
static extension-type-member method E3|constructor#<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(wildcard core::Object? _#wc2#formal) → self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ #this = _#wc2#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method E3|constructor#_#new#tearOff<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _) → self::E3<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E3|constructor#<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>(_);
|
||||
static extension-type-member synthetic method E3|constructor#_#new#tearOff<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _#wc2#formal) → self::E3<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E3|constructor#<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>(_#wc2#formal);
|
||||
|
||||
@@ -32,21 +32,21 @@ extension type E3<X extends core::Object? = dynamic, Y extends core::Object? = d
|
||||
constructor • = self::E3|constructor#;
|
||||
constructor tearoff • = self::E3|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method E1|constructor#<E1 extends core::Object? = dynamic>(core::Object? _) → self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member method E1|constructor#<E1 extends core::Object? = dynamic>(wildcard core::Object? _#wc0#formal) → self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method E1|constructor#_#new#tearOff<E1 extends core::Object? = dynamic>(core::Object? _) → self::E1<self::E1|constructor#_#new#tearOff::E1%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E1|constructor#<self::E1|constructor#_#new#tearOff::E1%>(_);
|
||||
static extension-type-member method E2|constructor#<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _) → self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member synthetic method E1|constructor#_#new#tearOff<E1 extends core::Object? = dynamic>(core::Object? _#wc0#formal) → self::E1<self::E1|constructor#_#new#tearOff::E1%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E1|constructor#<self::E1|constructor#_#new#tearOff::E1%>(_#wc0#formal);
|
||||
static extension-type-member method E2|constructor#<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(wildcard core::Object? _#wc1#formal) → self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method E2|constructor#_#new#tearOff<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _) → self::E2<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>(_);
|
||||
static extension-type-member method E3|constructor#<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _) → self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member synthetic method E2|constructor#_#new#tearOff<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _#wc1#formal) → self::E2<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>(_#wc1#formal);
|
||||
static extension-type-member method E3|constructor#<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(wildcard core::Object? _#wc2#formal) → self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ #this = _#wc2#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method E3|constructor#_#new#tearOff<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _) → self::E3<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E3|constructor#<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>(_);
|
||||
static extension-type-member synthetic method E3|constructor#_#new#tearOff<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _#wc2#formal) → self::E3<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E3|constructor#<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>(_#wc2#formal);
|
||||
|
||||
@@ -32,15 +32,15 @@ extension type E3<X extends core::Object? = dynamic, Y extends core::Object? = d
|
||||
constructor • = self::E3|constructor#;
|
||||
constructor tearoff • = self::E3|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method E1|constructor#<E1 extends core::Object? = dynamic>(core::Object? _) → self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */
|
||||
static extension-type-member method E1|constructor#<E1 extends core::Object? = dynamic>(wildcard core::Object? _#wc0#formal) → self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method E1|constructor#_#new#tearOff<E1 extends core::Object? = dynamic>(core::Object? _) → self::E1<self::E1|constructor#_#new#tearOff::E1%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E1|constructor#<self::E1|constructor#_#new#tearOff::E1%>(_);
|
||||
static extension-type-member method E2|constructor#<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _) → self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */
|
||||
static extension-type-member synthetic method E1|constructor#_#new#tearOff<E1 extends core::Object? = dynamic>(core::Object? _#wc0#formal) → self::E1<self::E1|constructor#_#new#tearOff::E1%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E1|constructor#<self::E1|constructor#_#new#tearOff::E1%>(_#wc0#formal);
|
||||
static extension-type-member method E2|constructor#<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(wildcard core::Object? _#wc1#formal) → self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method E2|constructor#_#new#tearOff<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _) → self::E2<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>(_);
|
||||
static extension-type-member method E3|constructor#<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _) → self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */
|
||||
static extension-type-member synthetic method E2|constructor#_#new#tearOff<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _#wc1#formal) → self::E2<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>(_#wc1#formal);
|
||||
static extension-type-member method E3|constructor#<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(wildcard core::Object? _#wc2#formal) → self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method E3|constructor#_#new#tearOff<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _) → self::E3<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E3|constructor#<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>(_);
|
||||
static extension-type-member synthetic method E3|constructor#_#new#tearOff<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _#wc2#formal) → self::E3<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E3|constructor#<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>(_#wc2#formal);
|
||||
|
||||
@@ -32,21 +32,21 @@ extension type E3<X extends core::Object? = dynamic, Y extends core::Object? = d
|
||||
constructor • = self::E3|constructor#;
|
||||
constructor tearoff • = self::E3|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method E1|constructor#<E1 extends core::Object? = dynamic>(core::Object? _) → self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member method E1|constructor#<E1 extends core::Object? = dynamic>(wildcard core::Object? _#wc0#formal) → self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E1<self::E1|constructor#::E1%>% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method E1|constructor#_#new#tearOff<E1 extends core::Object? = dynamic>(core::Object? _) → self::E1<self::E1|constructor#_#new#tearOff::E1%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E1|constructor#<self::E1|constructor#_#new#tearOff::E1%>(_);
|
||||
static extension-type-member method E2|constructor#<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _) → self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member synthetic method E1|constructor#_#new#tearOff<E1 extends core::Object? = dynamic>(core::Object? _#wc0#formal) → self::E1<self::E1|constructor#_#new#tearOff::E1%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E1|constructor#<self::E1|constructor#_#new#tearOff::E1%>(_#wc0#formal);
|
||||
static extension-type-member method E2|constructor#<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(wildcard core::Object? _#wc1#formal) → self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E2<self::E2|constructor#::X%, self::E2|constructor#::E2%>% /* erasure=core::Object?, declared=! */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method E2|constructor#_#new#tearOff<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _) → self::E2<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>(_);
|
||||
static extension-type-member method E3|constructor#<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _) → self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member synthetic method E2|constructor#_#new#tearOff<X extends core::Object? = dynamic, E2 extends core::Object? = dynamic>(core::Object? _#wc1#formal) → self::E2<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E2|constructor#<self::E2|constructor#_#new#tearOff::X%, self::E2|constructor#_#new#tearOff::E2%>(_#wc1#formal);
|
||||
static extension-type-member method E3|constructor#<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(wildcard core::Object? _#wc2#formal) → self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::E3<self::E3|constructor#::X%, self::E3|constructor#::Y%, self::E3|constructor#::E3%>% /* erasure=core::Object?, declared=! */ #this = _#wc2#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method E3|constructor#_#new#tearOff<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _) → self::E3<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E3|constructor#<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>(_);
|
||||
static extension-type-member synthetic method E3|constructor#_#new#tearOff<X extends core::Object? = dynamic, Y extends core::Object? = dynamic, E3 extends core::Object? = dynamic>(core::Object? _#wc2#formal) → self::E3<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>% /* erasure=core::Object?, declared=! */
|
||||
return self::E3|constructor#<self::E3|constructor#_#new#tearOff::X%, self::E3|constructor#_#new#tearOff::Y%, self::E3|constructor#_#new#tearOff::E3%>(_#wc2#formal);
|
||||
|
||||
@@ -22,12 +22,12 @@ static method cfeAwait<XF extends self::F /* erasure=asy::Future<core::int> */>(
|
||||
core::int? v3 = v1;
|
||||
v1 = v3{core::int};
|
||||
}
|
||||
static extension-type-member method F|constructor#(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _;
|
||||
static extension-type-member method F|constructor#(wildcard asy::Future<core::int> _#wc0#formal) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_);
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _#wc0#formal) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_#wc0#formal);
|
||||
static method main() → void {
|
||||
self::cfeAwait<self::F /* erasure=asy::Future<core::int> */>(self::F|constructor#(asy::Future::value<core::int>(1)));
|
||||
}
|
||||
|
||||
@@ -22,12 +22,12 @@ static method cfeAwait<XF extends self::F /* erasure=asy::Future<core::int> */>(
|
||||
core::int? v3 = v1;
|
||||
v1 = v3{core::int};
|
||||
}
|
||||
static extension-type-member method F|constructor#(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _;
|
||||
static extension-type-member method F|constructor#(wildcard asy::Future<core::int> _#wc0#formal) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_);
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _#wc0#formal) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_#wc0#formal);
|
||||
static method main() → void {
|
||||
self::cfeAwait<self::F /* erasure=asy::Future<core::int> */>(self::F|constructor#(asy::Future::value<core::int>(1)));
|
||||
}
|
||||
|
||||
@@ -15,10 +15,10 @@ extension type F(asy::Future<core::int> _) implements asy::Future<core::int> {
|
||||
}
|
||||
static method cfeAwait<XF extends self::F /* erasure=asy::Future<core::int> */>(self::cfeAwait::XF xf) → void async
|
||||
;
|
||||
static extension-type-member method F|constructor#(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */
|
||||
static extension-type-member method F|constructor#(wildcard asy::Future<core::int> _#wc0#formal) → self::F /* erasure=asy::Future<core::int> */
|
||||
;
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_);
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _#wc0#formal) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_#wc0#formal);
|
||||
static method main() → void
|
||||
;
|
||||
static extension-member method Est|st<T extends core::Object? = dynamic, X extends (self::Est|st::T%) → self::Est|st::T% = (dynamic) → dynamic>(lowered final self::Est|st::T% #this) → void
|
||||
|
||||
@@ -22,12 +22,12 @@ static method cfeAwait<XF extends self::F /* erasure=asy::Future<core::int> */>(
|
||||
core::int? v3 = v1;
|
||||
v1 = v3{core::int};
|
||||
}
|
||||
static extension-type-member method F|constructor#(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _;
|
||||
static extension-type-member method F|constructor#(wildcard asy::Future<core::int> _#wc0#formal) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_);
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _#wc0#formal) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_#wc0#formal);
|
||||
static method main() → void {
|
||||
self::cfeAwait<self::F /* erasure=asy::Future<core::int> */>(self::F|constructor#(asy::Future::value<core::int>(1)));
|
||||
}
|
||||
|
||||
@@ -48,18 +48,18 @@ extension type F(asy::Future<core::int> _) implements asy::Future<core::int> {
|
||||
constructor • = self::F|constructor#;
|
||||
constructor tearoff • = self::F|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method N|constructor#(asy::Future<core::int> _) → self::N% /* erasure=asy::Future<core::int>, declared=! */ {
|
||||
lowered final self::N% /* erasure=asy::Future<core::int>, declared=! */ #this = _;
|
||||
static extension-type-member method N|constructor#(wildcard asy::Future<core::int> _#wc0#formal) → self::N% /* erasure=asy::Future<core::int>, declared=! */ {
|
||||
lowered final self::N% /* erasure=asy::Future<core::int>, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(asy::Future<core::int> _) → self::N% /* erasure=asy::Future<core::int>, declared=! */
|
||||
return self::N|constructor#(_);
|
||||
static extension-type-member method F|constructor#(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _;
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(asy::Future<core::int> _#wc0#formal) → self::N% /* erasure=asy::Future<core::int>, declared=! */
|
||||
return self::N|constructor#(_#wc0#formal);
|
||||
static extension-type-member method F|constructor#(wildcard asy::Future<core::int> _#wc1#formal) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_);
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _#wc1#formal) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_#wc1#formal);
|
||||
static method test<X extends core::Object? = dynamic, XN extends self::N% /* erasure=asy::Future<core::int>, declared=! */, XF extends self::F /* erasure=asy::Future<core::int> */>(self::N% /* erasure=asy::Future<core::int>, declared=! */ n, self::F /* erasure=asy::Future<core::int> */ f, self::test::X% x, self::test::XN% xn, self::test::XF xf, self::N? /* erasure=asy::Future<core::int>? */ nq, self::F? /* erasure=asy::Future<core::int>? */ fq, self::test::XN? xnq, self::test::XF? xfq) → void async /* emittedValueType= void */ {
|
||||
await invalid-expression "pkg/front_end/testcases/extension_types/issue54649.dart:10:9: Error: The 'await' expression can't be used for an expression with an extension type that is not a subtype of 'Future'.
|
||||
await n; // Error.
|
||||
|
||||
@@ -48,18 +48,18 @@ extension type F(asy::Future<core::int> _) implements asy::Future<core::int> {
|
||||
constructor • = self::F|constructor#;
|
||||
constructor tearoff • = self::F|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method N|constructor#(asy::Future<core::int> _) → self::N% /* erasure=asy::Future<core::int>, declared=! */ {
|
||||
lowered final self::N% /* erasure=asy::Future<core::int>, declared=! */ #this = _;
|
||||
static extension-type-member method N|constructor#(wildcard asy::Future<core::int> _#wc0#formal) → self::N% /* erasure=asy::Future<core::int>, declared=! */ {
|
||||
lowered final self::N% /* erasure=asy::Future<core::int>, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(asy::Future<core::int> _) → self::N% /* erasure=asy::Future<core::int>, declared=! */
|
||||
return self::N|constructor#(_);
|
||||
static extension-type-member method F|constructor#(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _;
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(asy::Future<core::int> _#wc0#formal) → self::N% /* erasure=asy::Future<core::int>, declared=! */
|
||||
return self::N|constructor#(_#wc0#formal);
|
||||
static extension-type-member method F|constructor#(wildcard asy::Future<core::int> _#wc1#formal) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_);
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _#wc1#formal) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_#wc1#formal);
|
||||
static method test<X extends core::Object? = dynamic, XN extends self::N% /* erasure=asy::Future<core::int>, declared=! */, XF extends self::F /* erasure=asy::Future<core::int> */>(self::N% /* erasure=asy::Future<core::int>, declared=! */ n, self::F /* erasure=asy::Future<core::int> */ f, self::test::X% x, self::test::XN% xn, self::test::XF xf, self::N? /* erasure=asy::Future<core::int>? */ nq, self::F? /* erasure=asy::Future<core::int>? */ fq, self::test::XN? xnq, self::test::XF? xfq) → void async /* emittedValueType= void */ {
|
||||
await invalid-expression "pkg/front_end/testcases/extension_types/issue54649.dart:10:9: Error: The 'await' expression can't be used for an expression with an extension type that is not a subtype of 'Future'.
|
||||
await n; // Error.
|
||||
|
||||
@@ -13,13 +13,13 @@ extension type F(asy::Future<core::int> _) implements asy::Future<core::int> {
|
||||
constructor • = self::F|constructor#;
|
||||
constructor tearoff • = self::F|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method N|constructor#(asy::Future<core::int> _) → self::N% /* erasure=asy::Future<core::int>, declared=! */
|
||||
static extension-type-member method N|constructor#(wildcard asy::Future<core::int> _#wc0#formal) → self::N% /* erasure=asy::Future<core::int>, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(asy::Future<core::int> _) → self::N% /* erasure=asy::Future<core::int>, declared=! */
|
||||
return self::N|constructor#(_);
|
||||
static extension-type-member method F|constructor#(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(asy::Future<core::int> _#wc0#formal) → self::N% /* erasure=asy::Future<core::int>, declared=! */
|
||||
return self::N|constructor#(_#wc0#formal);
|
||||
static extension-type-member method F|constructor#(wildcard asy::Future<core::int> _#wc1#formal) → self::F /* erasure=asy::Future<core::int> */
|
||||
;
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_);
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _#wc1#formal) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_#wc1#formal);
|
||||
static method test<X extends core::Object? = dynamic, XN extends self::N% /* erasure=asy::Future<core::int>, declared=! */, XF extends self::F /* erasure=asy::Future<core::int> */>(self::N% /* erasure=asy::Future<core::int>, declared=! */ n, self::F /* erasure=asy::Future<core::int> */ f, self::test::X% x, self::test::XN% xn, self::test::XF xf, self::N? /* erasure=asy::Future<core::int>? */ nq, self::F? /* erasure=asy::Future<core::int>? */ fq, self::test::XN? xnq, self::test::XF? xfq) → void async
|
||||
;
|
||||
|
||||
@@ -48,18 +48,18 @@ extension type F(asy::Future<core::int> _) implements asy::Future<core::int> {
|
||||
constructor • = self::F|constructor#;
|
||||
constructor tearoff • = self::F|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method N|constructor#(asy::Future<core::int> _) → self::N% /* erasure=asy::Future<core::int>, declared=! */ {
|
||||
lowered final self::N% /* erasure=asy::Future<core::int>, declared=! */ #this = _;
|
||||
static extension-type-member method N|constructor#(wildcard asy::Future<core::int> _#wc0#formal) → self::N% /* erasure=asy::Future<core::int>, declared=! */ {
|
||||
lowered final self::N% /* erasure=asy::Future<core::int>, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(asy::Future<core::int> _) → self::N% /* erasure=asy::Future<core::int>, declared=! */
|
||||
return self::N|constructor#(_);
|
||||
static extension-type-member method F|constructor#(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _;
|
||||
static extension-type-member synthetic method N|constructor#_#new#tearOff(asy::Future<core::int> _#wc0#formal) → self::N% /* erasure=asy::Future<core::int>, declared=! */
|
||||
return self::N|constructor#(_#wc0#formal);
|
||||
static extension-type-member method F|constructor#(wildcard asy::Future<core::int> _#wc1#formal) → self::F /* erasure=asy::Future<core::int> */ {
|
||||
lowered final self::F /* erasure=asy::Future<core::int> */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_);
|
||||
static extension-type-member synthetic method F|constructor#_#new#tearOff(asy::Future<core::int> _#wc1#formal) → self::F /* erasure=asy::Future<core::int> */
|
||||
return self::F|constructor#(_#wc1#formal);
|
||||
static method test<X extends core::Object? = dynamic, XN extends self::N% /* erasure=asy::Future<core::int>, declared=! */, XF extends self::F /* erasure=asy::Future<core::int> */>(self::N% /* erasure=asy::Future<core::int>, declared=! */ n, self::F /* erasure=asy::Future<core::int> */ f, self::test::X% x, self::test::XN% xn, self::test::XF xf, self::N? /* erasure=asy::Future<core::int>? */ nq, self::F? /* erasure=asy::Future<core::int>? */ fq, self::test::XN? xnq, self::test::XF? xfq) → void async /* emittedValueType= void */ {
|
||||
await invalid-expression "pkg/front_end/testcases/extension_types/issue54649.dart:10:9: Error: The 'await' expression can't be used for an expression with an extension type that is not a subtype of 'Future'.
|
||||
await n; // Error.
|
||||
|
||||
@@ -24,12 +24,12 @@ extension type ET(core::Object? _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#(core::Object? _) → self::ET% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::ET% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member method ET|constructor#(wildcard core::Object? _#wc0#formal) → self::ET% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::ET% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(core::Object? _) → self::ET% /* erasure=core::Object?, declared=! */
|
||||
return self::ET|constructor#(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::ET% /* erasure=core::Object?, declared=! */
|
||||
return self::ET|constructor#(_#wc0#formal);
|
||||
static extension-type-member method ET|call(lowered final self::ET% /* erasure=core::Object?, declared=! */ #this) → core::String
|
||||
return "ET";
|
||||
static extension-type-member method ET|get#call(lowered final self::ET% /* erasure=core::Object?, declared=! */ #this) → () → core::String
|
||||
|
||||
@@ -24,12 +24,12 @@ extension type ET(core::Object? _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#(core::Object? _) → self::ET% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::ET% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member method ET|constructor#(wildcard core::Object? _#wc0#formal) → self::ET% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::ET% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(core::Object? _) → self::ET% /* erasure=core::Object?, declared=! */
|
||||
return self::ET|constructor#(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::ET% /* erasure=core::Object?, declared=! */
|
||||
return self::ET|constructor#(_#wc0#formal);
|
||||
static extension-type-member method ET|call(lowered final self::ET% /* erasure=core::Object?, declared=! */ #this) → core::String
|
||||
return "ET";
|
||||
static extension-type-member method ET|get#call(lowered final self::ET% /* erasure=core::Object?, declared=! */ #this) → () → core::String
|
||||
|
||||
@@ -17,10 +17,10 @@ extension type ET(core::Object? _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#(core::Object? _) → self::ET% /* erasure=core::Object?, declared=! */
|
||||
static extension-type-member method ET|constructor#(wildcard core::Object? _#wc0#formal) → self::ET% /* erasure=core::Object?, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(core::Object? _) → self::ET% /* erasure=core::Object?, declared=! */
|
||||
return self::ET|constructor#(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::ET% /* erasure=core::Object?, declared=! */
|
||||
return self::ET|constructor#(_#wc0#formal);
|
||||
static extension-type-member method ET|call(lowered final self::ET% /* erasure=core::Object?, declared=! */ #this) → core::String
|
||||
;
|
||||
static extension-type-member method ET|get#call(lowered final self::ET% /* erasure=core::Object?, declared=! */ #this) → () → core::String
|
||||
|
||||
@@ -24,12 +24,12 @@ extension type ET(core::Object? _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#(core::Object? _) → self::ET% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::ET% /* erasure=core::Object?, declared=! */ #this = _;
|
||||
static extension-type-member method ET|constructor#(wildcard core::Object? _#wc0#formal) → self::ET% /* erasure=core::Object?, declared=! */ {
|
||||
lowered final self::ET% /* erasure=core::Object?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(core::Object? _) → self::ET% /* erasure=core::Object?, declared=! */
|
||||
return self::ET|constructor#(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(core::Object? _#wc0#formal) → self::ET% /* erasure=core::Object?, declared=! */
|
||||
return self::ET|constructor#(_#wc0#formal);
|
||||
static extension-type-member method ET|call(lowered final self::ET% /* erasure=core::Object?, declared=! */ #this) → core::String
|
||||
return "ET";
|
||||
static extension-type-member method ET|get#call(lowered final self::ET% /* erasure=core::Object?, declared=! */ #this) → () → core::String
|
||||
|
||||
@@ -6,9 +6,9 @@ extension type ET(void _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#(void _) → self::ET% /* erasure=void, declared=! */ {
|
||||
lowered final self::ET% /* erasure=void, declared=! */ #this = _;
|
||||
static extension-type-member method ET|constructor#(wildcard void _#wc0#formal) → self::ET% /* erasure=void, declared=! */ {
|
||||
lowered final self::ET% /* erasure=void, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(void _) → self::ET% /* erasure=void, declared=! */
|
||||
return self::ET|constructor#(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(void _#wc0#formal) → self::ET% /* erasure=void, declared=! */
|
||||
return self::ET|constructor#(_#wc0#formal);
|
||||
|
||||
@@ -6,9 +6,9 @@ extension type ET(void _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#(void _) → self::ET% /* erasure=void, declared=! */ {
|
||||
lowered final self::ET% /* erasure=void, declared=! */ #this = _;
|
||||
static extension-type-member method ET|constructor#(wildcard void _#wc0#formal) → self::ET% /* erasure=void, declared=! */ {
|
||||
lowered final self::ET% /* erasure=void, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(void _) → self::ET% /* erasure=void, declared=! */
|
||||
return self::ET|constructor#(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(void _#wc0#formal) → self::ET% /* erasure=void, declared=! */
|
||||
return self::ET|constructor#(_#wc0#formal);
|
||||
|
||||
@@ -6,7 +6,7 @@ extension type ET(void _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#(void _) → self::ET% /* erasure=void, declared=! */
|
||||
static extension-type-member method ET|constructor#(wildcard void _#wc0#formal) → self::ET% /* erasure=void, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(void _) → self::ET% /* erasure=void, declared=! */
|
||||
return self::ET|constructor#(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(void _#wc0#formal) → self::ET% /* erasure=void, declared=! */
|
||||
return self::ET|constructor#(_#wc0#formal);
|
||||
|
||||
@@ -6,9 +6,9 @@ extension type ET(void _) {
|
||||
constructor • = self::ET|constructor#;
|
||||
constructor tearoff • = self::ET|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET|constructor#(void _) → self::ET% /* erasure=void, declared=! */ {
|
||||
lowered final self::ET% /* erasure=void, declared=! */ #this = _;
|
||||
static extension-type-member method ET|constructor#(wildcard void _#wc0#formal) → self::ET% /* erasure=void, declared=! */ {
|
||||
lowered final self::ET% /* erasure=void, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(void _) → self::ET% /* erasure=void, declared=! */
|
||||
return self::ET|constructor#(_);
|
||||
static extension-type-member synthetic method ET|constructor#_#new#tearOff(void _#wc0#formal) → self::ET% /* erasure=void, declared=! */
|
||||
return self::ET|constructor#(_#wc0#formal);
|
||||
|
||||
@@ -51,15 +51,15 @@ extension type EIAliasNullable(self::A? _) {
|
||||
constructor • = self::EIAliasNullable|constructor#;
|
||||
constructor tearoff • = self::EIAliasNullable|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method EINullable|constructor#(core::int? _) → self::EINullable% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::EINullable% /* erasure=core::int?, declared=! */ #this = _;
|
||||
static extension-type-member method EINullable|constructor#(wildcard core::int? _#wc0#formal) → self::EINullable% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::EINullable% /* erasure=core::int?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method EINullable|constructor#_#new#tearOff(core::int? _) → self::EINullable% /* erasure=core::int?, declared=! */
|
||||
return self::EINullable|constructor#(_);
|
||||
static extension-type-member method EIAliasNullable|constructor#(self::A? _) → self::EIAliasNullable% /* erasure=self::A?, declared=! */ {
|
||||
lowered final self::EIAliasNullable% /* erasure=self::A?, declared=! */ #this = _;
|
||||
static extension-type-member synthetic method EINullable|constructor#_#new#tearOff(core::int? _#wc0#formal) → self::EINullable% /* erasure=core::int?, declared=! */
|
||||
return self::EINullable|constructor#(_#wc0#formal);
|
||||
static extension-type-member method EIAliasNullable|constructor#(wildcard self::A? _#wc1#formal) → self::EIAliasNullable% /* erasure=self::A?, declared=! */ {
|
||||
lowered final self::EIAliasNullable% /* erasure=self::A?, declared=! */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method EIAliasNullable|constructor#_#new#tearOff(self::A? _) → self::EIAliasNullable% /* erasure=self::A?, declared=! */
|
||||
return self::EIAliasNullable|constructor#(_);
|
||||
static extension-type-member synthetic method EIAliasNullable|constructor#_#new#tearOff(self::A? _#wc1#formal) → self::EIAliasNullable% /* erasure=self::A?, declared=! */
|
||||
return self::EIAliasNullable|constructor#(_#wc1#formal);
|
||||
|
||||
@@ -51,15 +51,15 @@ extension type EIAliasNullable(self::A? _) {
|
||||
constructor • = self::EIAliasNullable|constructor#;
|
||||
constructor tearoff • = self::EIAliasNullable|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method EINullable|constructor#(core::int? _) → self::EINullable% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::EINullable% /* erasure=core::int?, declared=! */ #this = _;
|
||||
static extension-type-member method EINullable|constructor#(wildcard core::int? _#wc0#formal) → self::EINullable% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::EINullable% /* erasure=core::int?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method EINullable|constructor#_#new#tearOff(core::int? _) → self::EINullable% /* erasure=core::int?, declared=! */
|
||||
return self::EINullable|constructor#(_);
|
||||
static extension-type-member method EIAliasNullable|constructor#(self::A? _) → self::EIAliasNullable% /* erasure=self::A?, declared=! */ {
|
||||
lowered final self::EIAliasNullable% /* erasure=self::A?, declared=! */ #this = _;
|
||||
static extension-type-member synthetic method EINullable|constructor#_#new#tearOff(core::int? _#wc0#formal) → self::EINullable% /* erasure=core::int?, declared=! */
|
||||
return self::EINullable|constructor#(_#wc0#formal);
|
||||
static extension-type-member method EIAliasNullable|constructor#(wildcard self::A? _#wc1#formal) → self::EIAliasNullable% /* erasure=self::A?, declared=! */ {
|
||||
lowered final self::EIAliasNullable% /* erasure=self::A?, declared=! */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method EIAliasNullable|constructor#_#new#tearOff(self::A? _) → self::EIAliasNullable% /* erasure=self::A?, declared=! */
|
||||
return self::EIAliasNullable|constructor#(_);
|
||||
static extension-type-member synthetic method EIAliasNullable|constructor#_#new#tearOff(self::A? _#wc1#formal) → self::EIAliasNullable% /* erasure=self::A?, declared=! */
|
||||
return self::EIAliasNullable|constructor#(_#wc1#formal);
|
||||
|
||||
@@ -49,11 +49,11 @@ extension type EIAliasNullable(self::A? _) {
|
||||
constructor • = self::EIAliasNullable|constructor#;
|
||||
constructor tearoff • = self::EIAliasNullable|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method EINullable|constructor#(core::int? _) → self::EINullable% /* erasure=core::int?, declared=! */
|
||||
static extension-type-member method EINullable|constructor#(wildcard core::int? _#wc0#formal) → self::EINullable% /* erasure=core::int?, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method EINullable|constructor#_#new#tearOff(core::int? _) → self::EINullable% /* erasure=core::int?, declared=! */
|
||||
return self::EINullable|constructor#(_);
|
||||
static extension-type-member method EIAliasNullable|constructor#(self::A? _) → self::EIAliasNullable% /* erasure=self::A?, declared=! */
|
||||
static extension-type-member synthetic method EINullable|constructor#_#new#tearOff(core::int? _#wc0#formal) → self::EINullable% /* erasure=core::int?, declared=! */
|
||||
return self::EINullable|constructor#(_#wc0#formal);
|
||||
static extension-type-member method EIAliasNullable|constructor#(wildcard self::A? _#wc1#formal) → self::EIAliasNullable% /* erasure=self::A?, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method EIAliasNullable|constructor#_#new#tearOff(self::A? _) → self::EIAliasNullable% /* erasure=self::A?, declared=! */
|
||||
return self::EIAliasNullable|constructor#(_);
|
||||
static extension-type-member synthetic method EIAliasNullable|constructor#_#new#tearOff(self::A? _#wc1#formal) → self::EIAliasNullable% /* erasure=self::A?, declared=! */
|
||||
return self::EIAliasNullable|constructor#(_#wc1#formal);
|
||||
|
||||
@@ -51,15 +51,15 @@ extension type EIAliasNullable(self::A? _) {
|
||||
constructor • = self::EIAliasNullable|constructor#;
|
||||
constructor tearoff • = self::EIAliasNullable|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method EINullable|constructor#(core::int? _) → self::EINullable% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::EINullable% /* erasure=core::int?, declared=! */ #this = _;
|
||||
static extension-type-member method EINullable|constructor#(wildcard core::int? _#wc0#formal) → self::EINullable% /* erasure=core::int?, declared=! */ {
|
||||
lowered final self::EINullable% /* erasure=core::int?, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method EINullable|constructor#_#new#tearOff(core::int? _) → self::EINullable% /* erasure=core::int?, declared=! */
|
||||
return self::EINullable|constructor#(_);
|
||||
static extension-type-member method EIAliasNullable|constructor#(self::A? _) → self::EIAliasNullable% /* erasure=self::A?, declared=! */ {
|
||||
lowered final self::EIAliasNullable% /* erasure=self::A?, declared=! */ #this = _;
|
||||
static extension-type-member synthetic method EINullable|constructor#_#new#tearOff(core::int? _#wc0#formal) → self::EINullable% /* erasure=core::int?, declared=! */
|
||||
return self::EINullable|constructor#(_#wc0#formal);
|
||||
static extension-type-member method EIAliasNullable|constructor#(wildcard self::A? _#wc1#formal) → self::EIAliasNullable% /* erasure=self::A?, declared=! */ {
|
||||
lowered final self::EIAliasNullable% /* erasure=self::A?, declared=! */ #this = _#wc1#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method EIAliasNullable|constructor#_#new#tearOff(self::A? _) → self::EIAliasNullable% /* erasure=self::A?, declared=! */
|
||||
return self::EIAliasNullable|constructor#(_);
|
||||
static extension-type-member synthetic method EIAliasNullable|constructor#_#new#tearOff(self::A? _#wc1#formal) → self::EIAliasNullable% /* erasure=self::A?, declared=! */
|
||||
return self::EIAliasNullable|constructor#(_#wc1#formal);
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
// Copyright (c) 2026, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
class C1(final int _);
|
||||
|
||||
class C2(var int _);
|
||||
|
||||
class C3(final int _, final int _); // Error
|
||||
|
||||
class C4(int _, int _); // Ok
|
||||
|
||||
class C5(var int _) {
|
||||
int x = _; // Error
|
||||
|
||||
this : assert(_ > 0); // Error
|
||||
}
|
||||
|
||||
extension type ET1(int _);
|
||||
|
||||
extension type ET2(final int _);
|
||||
|
||||
extension type ET3(int _) {
|
||||
this : assert(_ > 0); // Error
|
||||
}
|
||||
|
||||
main() {
|
||||
var c1 = C1(0);
|
||||
expect(0, c1._);
|
||||
|
||||
var c2 = C2(1);
|
||||
expect(1, c2._);
|
||||
c2._ = 2;
|
||||
expect(2, c2._);
|
||||
|
||||
C4(0, 0);
|
||||
|
||||
var et1 = ET1(0);
|
||||
expect(0, et1._);
|
||||
|
||||
var et2 = ET2(1);
|
||||
expect(1, et2._);
|
||||
}
|
||||
|
||||
expect(expected, actual) {
|
||||
if (expected != actual) throw 'Expected $expected, actual $actual';
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
library;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:9:33: Error: '_' is already declared in this scope.
|
||||
// class C3(final int _, final int _); // Error
|
||||
// ^
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:9:20: Context: Previous declaration of '_'.
|
||||
// class C3(final int _, final int _); // Error
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:14:11: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
// int x = _; // Error
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:16:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
// this : assert(_ > 0); // Error
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:24:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
// this : assert(_ > 0); // Error
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
class C1 extends core::Object {
|
||||
final field core::int _;
|
||||
constructor •(final wildcard core::int _#wc0#formal) → self::C1
|
||||
: self::C1::_ = _#wc0#formal, super core::Object::•()
|
||||
;
|
||||
}
|
||||
class C2 extends core::Object {
|
||||
field core::int _;
|
||||
constructor •(wildcard core::int _#wc1#formal) → self::C2
|
||||
: self::C2::_ = _#wc1#formal, super core::Object::•()
|
||||
;
|
||||
}
|
||||
class C3 extends core::Object {
|
||||
final field core::int _;
|
||||
constructor •(final wildcard core::int _#wc2#formal, final wildcard core::int _#wc3#formal) → self::C3
|
||||
: invalid-initializer "pkg/front_end/testcases/primary_constructors/wildcards.dart:9:20: Error: Can't use '_' because it is declared more than once.
|
||||
class C3(final int _, final int _); // Error
|
||||
^", invalid-initializer "pkg/front_end/testcases/primary_constructors/wildcards.dart:9:33: Error: Can't use '_' because it is declared more than once.
|
||||
class C3(final int _, final int _); // Error
|
||||
^"
|
||||
;
|
||||
}
|
||||
class C4 extends core::Object {
|
||||
constructor •(wildcard core::int _#wc4#formal, wildcard core::int _#wc5#formal) → self::C4
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class C5 extends core::Object {
|
||||
field core::int _;
|
||||
field core::int x;
|
||||
constructor •(wildcard core::int _#wc6#formal) → self::C5
|
||||
: self::C5::x = invalid-expression "pkg/front_end/testcases/primary_constructors/wildcards.dart:14:11: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
int x = _; // Error
|
||||
^", self::C5::_ = _#wc6#formal, assert(invalid-expression "pkg/front_end/testcases/primary_constructors/wildcards.dart:16:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
this : assert(_ > 0); // Error
|
||||
^"{<invalid>}.>(0)), super core::Object::•()
|
||||
;
|
||||
}
|
||||
extension type ET1(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET1|constructor#;
|
||||
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
|
||||
}
|
||||
extension type ET2(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET2|constructor#;
|
||||
constructor tearoff • = self::ET2|constructor#_#new#tearOff;
|
||||
}
|
||||
extension type ET3(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET3|constructor#;
|
||||
constructor tearoff • = self::ET3|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET1|constructor#(wildcard core::int _#wc7#formal) → self::ET1% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = _#wc7#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(core::int _#wc7#formal) → self::ET1% /* erasure=core::int, declared=! */
|
||||
return self::ET1|constructor#(_#wc7#formal);
|
||||
static extension-type-member method ET2|constructor#(final wildcard core::int _#wc8#formal) → self::ET2% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::ET2% /* erasure=core::int, declared=! */ #this = _#wc8#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET2|constructor#_#new#tearOff(core::int _#wc8#formal) → self::ET2% /* erasure=core::int, declared=! */
|
||||
return self::ET2|constructor#(_#wc8#formal);
|
||||
static extension-type-member method ET3|constructor#(wildcard core::int _#wc9#formal) → self::ET3% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::ET3% /* erasure=core::int, declared=! */ #this = _#wc9#formal;
|
||||
assert(invalid-expression "pkg/front_end/testcases/primary_constructors/wildcards.dart:24:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
this : assert(_ > 0); // Error
|
||||
^"{<invalid>}.>(0));
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET3|constructor#_#new#tearOff(core::int _#wc9#formal) → self::ET3% /* erasure=core::int, declared=! */
|
||||
return self::ET3|constructor#(_#wc9#formal);
|
||||
static method main() → dynamic {
|
||||
self::C1 c1 = new self::C1::•(0);
|
||||
self::expect(0, c1.{self::C1::_}{core::int});
|
||||
self::C2 c2 = new self::C2::•(1);
|
||||
self::expect(1, c2.{self::C2::_}{core::int});
|
||||
c2.{self::C2::_} = 2;
|
||||
self::expect(2, c2.{self::C2::_}{core::int});
|
||||
new self::C4::•(0, 0);
|
||||
self::ET1% /* erasure=core::int, declared=! */ et1 = self::ET1|constructor#(0);
|
||||
self::expect(0, et1 as{Unchecked} core::int);
|
||||
self::ET2% /* erasure=core::int, declared=! */ et2 = self::ET2|constructor#(1);
|
||||
self::expect(1, et2 as{Unchecked} core::int);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
throw "Expected ${expected}, actual ${actual}";
|
||||
}
|
||||
@@ -0,0 +1,117 @@
|
||||
library;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:9:33: Error: '_' is already declared in this scope.
|
||||
// class C3(final int _, final int _); // Error
|
||||
// ^
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:9:20: Context: Previous declaration of '_'.
|
||||
// class C3(final int _, final int _); // Error
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:14:11: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
// int x = _; // Error
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:16:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
// this : assert(_ > 0); // Error
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:24:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
// this : assert(_ > 0); // Error
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
class C1 extends core::Object {
|
||||
final field core::int _;
|
||||
constructor •(final wildcard core::int _#wc0#formal) → self::C1
|
||||
: self::C1::_ = _#wc0#formal, super core::Object::•()
|
||||
;
|
||||
}
|
||||
class C2 extends core::Object {
|
||||
field core::int _;
|
||||
constructor •(wildcard core::int _#wc1#formal) → self::C2
|
||||
: self::C2::_ = _#wc1#formal, super core::Object::•()
|
||||
;
|
||||
}
|
||||
class C3 extends core::Object {
|
||||
final field core::int _;
|
||||
constructor •(final wildcard core::int _#wc2#formal, final wildcard core::int _#wc3#formal) → self::C3
|
||||
: invalid-initializer "pkg/front_end/testcases/primary_constructors/wildcards.dart:9:20: Error: Can't use '_' because it is declared more than once.
|
||||
class C3(final int _, final int _); // Error
|
||||
^", invalid-initializer "pkg/front_end/testcases/primary_constructors/wildcards.dart:9:33: Error: Can't use '_' because it is declared more than once.
|
||||
class C3(final int _, final int _); // Error
|
||||
^"
|
||||
;
|
||||
}
|
||||
class C4 extends core::Object {
|
||||
constructor •(wildcard core::int _#wc4#formal, wildcard core::int _#wc5#formal) → self::C4
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class C5 extends core::Object {
|
||||
field core::int _;
|
||||
field core::int x;
|
||||
constructor •(wildcard core::int _#wc6#formal) → self::C5
|
||||
: self::C5::x = invalid-expression "pkg/front_end/testcases/primary_constructors/wildcards.dart:14:11: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
int x = _; // Error
|
||||
^", self::C5::_ = _#wc6#formal, assert(invalid-expression "pkg/front_end/testcases/primary_constructors/wildcards.dart:16:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
this : assert(_ > 0); // Error
|
||||
^"{<invalid>}.>(0)), super core::Object::•()
|
||||
;
|
||||
}
|
||||
extension type ET1(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET1|constructor#;
|
||||
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
|
||||
}
|
||||
extension type ET2(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET2|constructor#;
|
||||
constructor tearoff • = self::ET2|constructor#_#new#tearOff;
|
||||
}
|
||||
extension type ET3(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET3|constructor#;
|
||||
constructor tearoff • = self::ET3|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET1|constructor#(wildcard core::int _#wc7#formal) → self::ET1% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = _#wc7#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(core::int _#wc7#formal) → self::ET1% /* erasure=core::int, declared=! */
|
||||
return self::ET1|constructor#(_#wc7#formal);
|
||||
static extension-type-member method ET2|constructor#(final wildcard core::int _#wc8#formal) → self::ET2% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::ET2% /* erasure=core::int, declared=! */ #this = _#wc8#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET2|constructor#_#new#tearOff(core::int _#wc8#formal) → self::ET2% /* erasure=core::int, declared=! */
|
||||
return self::ET2|constructor#(_#wc8#formal);
|
||||
static extension-type-member method ET3|constructor#(wildcard core::int _#wc9#formal) → self::ET3% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::ET3% /* erasure=core::int, declared=! */ #this = _#wc9#formal;
|
||||
assert(invalid-expression "pkg/front_end/testcases/primary_constructors/wildcards.dart:24:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
this : assert(_ > 0); // Error
|
||||
^"{<invalid>}.>(0));
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET3|constructor#_#new#tearOff(core::int _#wc9#formal) → self::ET3% /* erasure=core::int, declared=! */
|
||||
return self::ET3|constructor#(_#wc9#formal);
|
||||
static method main() → dynamic {
|
||||
self::C1 c1 = new self::C1::•(0);
|
||||
self::expect(0, c1.{self::C1::_}{core::int});
|
||||
self::C2 c2 = new self::C2::•(1);
|
||||
self::expect(1, c2.{self::C2::_}{core::int});
|
||||
c2.{self::C2::_} = 2;
|
||||
self::expect(2, c2.{self::C2::_}{core::int});
|
||||
new self::C4::•(0, 0);
|
||||
self::ET1% /* erasure=core::int, declared=! */ et1 = self::ET1|constructor#(0);
|
||||
self::expect(0, et1 as{Unchecked} core::int);
|
||||
self::ET2% /* erasure=core::int, declared=! */ et2 = self::ET2|constructor#(1);
|
||||
self::expect(1, et2 as{Unchecked} core::int);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
throw "Expected ${expected}, actual ${actual}";
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
library;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:9:33: Error: '_' is already declared in this scope.
|
||||
// class C3(final int _, final int _); // Error
|
||||
// ^
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:9:20: Context: Previous declaration of '_'.
|
||||
// class C3(final int _, final int _); // Error
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
class C1 extends core::Object {
|
||||
final field core::int _;
|
||||
constructor •(final wildcard core::int _#wc0#formal) → self::C1
|
||||
;
|
||||
}
|
||||
class C2 extends core::Object {
|
||||
field core::int _;
|
||||
constructor •(wildcard core::int _#wc1#formal) → self::C2
|
||||
;
|
||||
}
|
||||
class C3 extends core::Object {
|
||||
final field core::int _;
|
||||
constructor •(final wildcard core::int _#wc2#formal, final wildcard core::int _#wc3#formal) → self::C3
|
||||
;
|
||||
}
|
||||
class C4 extends core::Object {
|
||||
constructor •(wildcard core::int _#wc4#formal, wildcard core::int _#wc5#formal) → self::C4
|
||||
;
|
||||
}
|
||||
class C5 extends core::Object {
|
||||
field core::int _;
|
||||
field core::int x;
|
||||
constructor •(wildcard core::int _#wc6#formal) → self::C5
|
||||
;
|
||||
}
|
||||
extension type ET1(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET1|constructor#;
|
||||
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
|
||||
}
|
||||
extension type ET2(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET2|constructor#;
|
||||
constructor tearoff • = self::ET2|constructor#_#new#tearOff;
|
||||
}
|
||||
extension type ET3(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET3|constructor#;
|
||||
constructor tearoff • = self::ET3|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET1|constructor#(wildcard core::int _#wc7#formal) → self::ET1% /* erasure=core::int, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(core::int _#wc7#formal) → self::ET1% /* erasure=core::int, declared=! */
|
||||
return self::ET1|constructor#(_#wc7#formal);
|
||||
static extension-type-member method ET2|constructor#(final wildcard core::int _#wc8#formal) → self::ET2% /* erasure=core::int, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method ET2|constructor#_#new#tearOff(core::int _#wc8#formal) → self::ET2% /* erasure=core::int, declared=! */
|
||||
return self::ET2|constructor#(_#wc8#formal);
|
||||
static extension-type-member method ET3|constructor#(wildcard core::int _#wc9#formal) → self::ET3% /* erasure=core::int, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method ET3|constructor#_#new#tearOff(core::int _#wc9#formal) → self::ET3% /* erasure=core::int, declared=! */
|
||||
return self::ET3|constructor#(_#wc9#formal);
|
||||
static method main() → dynamic
|
||||
;
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic
|
||||
;
|
||||
+117
@@ -0,0 +1,117 @@
|
||||
library;
|
||||
//
|
||||
// Problems in library:
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:9:33: Error: '_' is already declared in this scope.
|
||||
// class C3(final int _, final int _); // Error
|
||||
// ^
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:9:20: Context: Previous declaration of '_'.
|
||||
// class C3(final int _, final int _); // Error
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:14:11: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
// int x = _; // Error
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:16:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
// this : assert(_ > 0); // Error
|
||||
// ^
|
||||
//
|
||||
// pkg/front_end/testcases/primary_constructors/wildcards.dart:24:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
// this : assert(_ > 0); // Error
|
||||
// ^
|
||||
//
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
class C1 extends core::Object {
|
||||
final field core::int _;
|
||||
constructor •(final wildcard core::int _#wc0#formal) → self::C1
|
||||
: self::C1::_ = _#wc0#formal, super core::Object::•()
|
||||
;
|
||||
}
|
||||
class C2 extends core::Object {
|
||||
field core::int _;
|
||||
constructor •(wildcard core::int _#wc1#formal) → self::C2
|
||||
: self::C2::_ = _#wc1#formal, super core::Object::•()
|
||||
;
|
||||
}
|
||||
class C3 extends core::Object {
|
||||
final field core::int _;
|
||||
constructor •(final wildcard core::int _#wc2#formal, final wildcard core::int _#wc3#formal) → self::C3
|
||||
: invalid-initializer "pkg/front_end/testcases/primary_constructors/wildcards.dart:9:20: Error: Can't use '_' because it is declared more than once.
|
||||
class C3(final int _, final int _); // Error
|
||||
^", invalid-initializer "pkg/front_end/testcases/primary_constructors/wildcards.dart:9:33: Error: Can't use '_' because it is declared more than once.
|
||||
class C3(final int _, final int _); // Error
|
||||
^"
|
||||
;
|
||||
}
|
||||
class C4 extends core::Object {
|
||||
constructor •(wildcard core::int _#wc4#formal, wildcard core::int _#wc5#formal) → self::C4
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class C5 extends core::Object {
|
||||
field core::int _;
|
||||
field core::int x;
|
||||
constructor •(wildcard core::int _#wc6#formal) → self::C5
|
||||
: self::C5::x = invalid-expression "pkg/front_end/testcases/primary_constructors/wildcards.dart:14:11: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
int x = _; // Error
|
||||
^", self::C5::_ = _#wc6#formal, assert(invalid-expression "pkg/front_end/testcases/primary_constructors/wildcards.dart:16:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
this : assert(_ > 0); // Error
|
||||
^"{<invalid>}.>(0)), super core::Object::•()
|
||||
;
|
||||
}
|
||||
extension type ET1(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET1|constructor#;
|
||||
constructor tearoff • = self::ET1|constructor#_#new#tearOff;
|
||||
}
|
||||
extension type ET2(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET2|constructor#;
|
||||
constructor tearoff • = self::ET2|constructor#_#new#tearOff;
|
||||
}
|
||||
extension type ET3(core::int _) {
|
||||
abstract extension-type-member representation-field get _() → core::int;
|
||||
constructor • = self::ET3|constructor#;
|
||||
constructor tearoff • = self::ET3|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method ET1|constructor#(wildcard core::int _#wc7#formal) → self::ET1% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::ET1% /* erasure=core::int, declared=! */ #this = _#wc7#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET1|constructor#_#new#tearOff(core::int _#wc7#formal) → self::ET1% /* erasure=core::int, declared=! */
|
||||
return self::ET1|constructor#(_#wc7#formal);
|
||||
static extension-type-member method ET2|constructor#(final wildcard core::int _#wc8#formal) → self::ET2% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::ET2% /* erasure=core::int, declared=! */ #this = _#wc8#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET2|constructor#_#new#tearOff(core::int _#wc8#formal) → self::ET2% /* erasure=core::int, declared=! */
|
||||
return self::ET2|constructor#(_#wc8#formal);
|
||||
static extension-type-member method ET3|constructor#(wildcard core::int _#wc9#formal) → self::ET3% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::ET3% /* erasure=core::int, declared=! */ #this = _#wc9#formal;
|
||||
assert(invalid-expression "pkg/front_end/testcases/primary_constructors/wildcards.dart:24:17: Error: Can't access 'this' in a field initializer to read '_'.
|
||||
this : assert(_ > 0); // Error
|
||||
^"{<invalid>}.>(0));
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method ET3|constructor#_#new#tearOff(core::int _#wc9#formal) → self::ET3% /* erasure=core::int, declared=! */
|
||||
return self::ET3|constructor#(_#wc9#formal);
|
||||
static method main() → dynamic {
|
||||
self::C1 c1 = new self::C1::•(0);
|
||||
self::expect(0, c1.{self::C1::_}{core::int});
|
||||
self::C2 c2 = new self::C2::•(1);
|
||||
self::expect(1, c2.{self::C2::_}{core::int});
|
||||
c2.{self::C2::_} = 2;
|
||||
self::expect(2, c2.{self::C2::_}{core::int});
|
||||
new self::C4::•(0, 0);
|
||||
self::ET1% /* erasure=core::int, declared=! */ et1 = self::ET1|constructor#(0);
|
||||
self::expect(0, et1 as{Unchecked} core::int);
|
||||
self::ET2% /* erasure=core::int, declared=! */ et2 = self::ET2|constructor#(1);
|
||||
self::expect(1, et2 as{Unchecked} core::int);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
throw "Expected ${expected}, actual ${actual}";
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
class C1(final int _);
|
||||
|
||||
class C2(var int _);
|
||||
|
||||
class C3(final int _, final int _);
|
||||
|
||||
class C4(int _, int _);
|
||||
|
||||
class C5(var int _) {
|
||||
int x = _;
|
||||
this : assert(_ > 0);
|
||||
}
|
||||
|
||||
extension type ET1(int _);
|
||||
|
||||
extension type ET2(final int _);
|
||||
|
||||
extension type ET3(int _) {
|
||||
this : assert(_ > 0);
|
||||
}
|
||||
|
||||
main() {}
|
||||
|
||||
expect(expected, actual) {}
|
||||
@@ -37,6 +37,7 @@ primary_constructors/parameters: FormatterCrash
|
||||
primary_constructors/primary_and_generative: FormatterCrash
|
||||
primary_constructors/primary_constructor_body: FormatterCrash
|
||||
primary_constructors/private_named_declaring_parameters: FormatterCrash
|
||||
primary_constructors/wildcards: FormatterCrash
|
||||
regress/annotation_on_type_parameter_name_clash_on_constructor: FormatterCrash
|
||||
regress/annotation_on_type_parameter_name_extension_type_constructor: FormatterCrash
|
||||
regress/erroneous_setter: FormatterCrash
|
||||
|
||||
@@ -8,11 +8,11 @@ extension type Id(core::int _) {
|
||||
constructor • = self::Id|constructor#;
|
||||
constructor tearoff • = self::Id|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method Id|constructor#(core::int _) → self::Id% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::Id% /* erasure=core::int, declared=! */ #this = _;
|
||||
static extension-type-member method Id|constructor#(wildcard core::int _#wc0#formal) → self::Id% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::Id% /* erasure=core::int, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method Id|constructor#_#new#tearOff(core::int _) → self::Id% /* erasure=core::int, declared=! */
|
||||
return self::Id|constructor#(_);
|
||||
static extension-type-member synthetic method Id|constructor#_#new#tearOff(core::int _#wc0#formal) → self::Id% /* erasure=core::int, declared=! */
|
||||
return self::Id|constructor#(_#wc0#formal);
|
||||
static extension-type-member method Id|<(lowered final self::Id% /* erasure=core::int, declared=! */ #this, self::Id% /* erasure=core::int, declared=! */ other) → dynamic
|
||||
return (#this as{Unchecked} core::int).{core::num::<}(other as{Unchecked} core::int){(core::num) → core::bool};
|
||||
|
||||
+4
-4
@@ -8,11 +8,11 @@ extension type Id(core::int _) {
|
||||
constructor • = self::Id|constructor#;
|
||||
constructor tearoff • = self::Id|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method Id|constructor#(core::int _) → self::Id% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::Id% /* erasure=core::int, declared=! */ #this = _;
|
||||
static extension-type-member method Id|constructor#(wildcard core::int _#wc0#formal) → self::Id% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::Id% /* erasure=core::int, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method Id|constructor#_#new#tearOff(core::int _) → self::Id% /* erasure=core::int, declared=! */
|
||||
return self::Id|constructor#(_);
|
||||
static extension-type-member synthetic method Id|constructor#_#new#tearOff(core::int _#wc0#formal) → self::Id% /* erasure=core::int, declared=! */
|
||||
return self::Id|constructor#(_#wc0#formal);
|
||||
static extension-type-member method Id|<(lowered final self::Id% /* erasure=core::int, declared=! */ #this, self::Id% /* erasure=core::int, declared=! */ other) → dynamic
|
||||
return (#this as{Unchecked} core::int).{core::num::<}(other as{Unchecked} core::int){(core::num) → core::bool};
|
||||
|
||||
+3
-3
@@ -8,9 +8,9 @@ extension type Id(core::int _) {
|
||||
constructor • = self::Id|constructor#;
|
||||
constructor tearoff • = self::Id|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method Id|constructor#(core::int _) → self::Id% /* erasure=core::int, declared=! */
|
||||
static extension-type-member method Id|constructor#(wildcard core::int _#wc0#formal) → self::Id% /* erasure=core::int, declared=! */
|
||||
;
|
||||
static extension-type-member synthetic method Id|constructor#_#new#tearOff(core::int _) → self::Id% /* erasure=core::int, declared=! */
|
||||
return self::Id|constructor#(_);
|
||||
static extension-type-member synthetic method Id|constructor#_#new#tearOff(core::int _#wc0#formal) → self::Id% /* erasure=core::int, declared=! */
|
||||
return self::Id|constructor#(_#wc0#formal);
|
||||
static extension-type-member method Id|<(lowered final self::Id% /* erasure=core::int, declared=! */ #this, self::Id% /* erasure=core::int, declared=! */ other) → dynamic
|
||||
;
|
||||
|
||||
+4
-4
@@ -8,11 +8,11 @@ extension type Id(core::int _) {
|
||||
constructor • = self::Id|constructor#;
|
||||
constructor tearoff • = self::Id|constructor#_#new#tearOff;
|
||||
}
|
||||
static extension-type-member method Id|constructor#(core::int _) → self::Id% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::Id% /* erasure=core::int, declared=! */ #this = _;
|
||||
static extension-type-member method Id|constructor#(wildcard core::int _#wc0#formal) → self::Id% /* erasure=core::int, declared=! */ {
|
||||
lowered final self::Id% /* erasure=core::int, declared=! */ #this = _#wc0#formal;
|
||||
return #this;
|
||||
}
|
||||
static extension-type-member synthetic method Id|constructor#_#new#tearOff(core::int _) → self::Id% /* erasure=core::int, declared=! */
|
||||
return self::Id|constructor#(_);
|
||||
static extension-type-member synthetic method Id|constructor#_#new#tearOff(core::int _#wc0#formal) → self::Id% /* erasure=core::int, declared=! */
|
||||
return self::Id|constructor#(_#wc0#formal);
|
||||
static extension-type-member method Id|<(lowered final self::Id% /* erasure=core::int, declared=! */ #this, self::Id% /* erasure=core::int, declared=! */ other) → dynamic
|
||||
return (#this as{Unchecked} core::int).{core::num::<}(other as{Unchecked} core::int){(core::num) → core::bool};
|
||||
|
||||
Reference in New Issue
Block a user