[cfe] Add flag to identify lowered locals
+ add predicate helpers to identify these and extract their original names. TEST=pkg/front_end/test/predicates/predicate_test.dart Change-Id: I4d94c575d010b6b01c985eaf5392b9e0e979d044 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175250 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Jens Johansen <jensj@google.com>
This commit is contained in:
committed by
commit-bot@chromium.org
parent
c549ecf1e6
commit
3d19493f2d
@@ -4,8 +4,7 @@
|
||||
|
||||
import 'package:kernel/ast.dart';
|
||||
import '../fasta/kernel/late_lowering.dart';
|
||||
|
||||
// TODO(johnniwinther): Add support for recognizing late lowered locals?
|
||||
import '../fasta/source/source_extension_builder.dart' show extensionThisName;
|
||||
|
||||
/// Returns `true` if [node] is the field holding the value of a lowered late
|
||||
/// field.
|
||||
@@ -147,29 +146,30 @@ bool isLateLoweredFieldSetter(Procedure node) {
|
||||
/// where '#local' is the local variable holding that value.
|
||||
///
|
||||
/// The default value of this variable is `null`.
|
||||
// TODO(johnniwinther): Enable these if the name of late locals is changed
|
||||
// to '${lateLocalPrefix}${name}'. See
|
||||
// backends can benefit from identifying late locals.
|
||||
/*bool isLateLoweredLocal(VariableDeclaration node) {
|
||||
return node.name != null && isLateLoweredLocalName(node.name);
|
||||
bool isLateLoweredLocal(VariableDeclaration node) {
|
||||
assert(node.isLowered ||
|
||||
node.name == null ||
|
||||
!isLateLoweredLocalName(node.name));
|
||||
return node.isLowered && isLateLoweredLocalName(node.name);
|
||||
}
|
||||
|
||||
/// Returns `true` if [name] is the name of a local variable holding the value
|
||||
/// of a lowered late variable.
|
||||
bool isLateLoweredLocalName(String name) {
|
||||
return name.startsWith(lateLocalPrefix) &&
|
||||
!(name.endsWith(lateIsSetSuffix) ||
|
||||
name.endsWith(lateLocalGetterSuffix) ||
|
||||
name.endsWith(lateLocalSetterSuffix));
|
||||
return name != extensionThisName &&
|
||||
name.startsWith(lateLocalPrefix) &&
|
||||
!name.endsWith(lateIsSetSuffix) &&
|
||||
!name.endsWith(lateLocalGetterSuffix) &&
|
||||
!name.endsWith(lateLocalSetterSuffix);
|
||||
}
|
||||
|
||||
/// Returns the name of the original late local variable from the [name] of the
|
||||
/// local variable holding the value of the lowered late variable.
|
||||
///
|
||||
/// This method assumes that `isLateLoweredLocalName(name)` is `true`.
|
||||
String extractLateLoweredLocalNameFrom(String name) {
|
||||
String extractLocalNameFromLateLoweredLocal(String name) {
|
||||
return name.substring(lateLocalPrefix.length);
|
||||
}*/
|
||||
}
|
||||
|
||||
/// Returns `true` if [node] is the local variable holding the marker for
|
||||
/// whether a lowered late local variable has been set or not.
|
||||
@@ -192,12 +192,15 @@ String extractLateLoweredLocalNameFrom(String name) {
|
||||
///
|
||||
/// The default value of this variable is `false`.
|
||||
bool isLateLoweredIsSetLocal(VariableDeclaration node) {
|
||||
return node.name != null && isLateLoweredIsSetName(node.name);
|
||||
assert(node.isLowered ||
|
||||
node.name == null ||
|
||||
!isLateLoweredIsSetLocalName(node.name));
|
||||
return node.isLowered && isLateLoweredIsSetLocalName(node.name);
|
||||
}
|
||||
|
||||
/// Returns `true` if [name] is the name of a local variable holding the marker
|
||||
/// for whether a lowered late local variable has been set or not.
|
||||
bool isLateLoweredIsSetName(String name) {
|
||||
bool isLateLoweredIsSetLocalName(String name) {
|
||||
return name.startsWith(lateLocalPrefix) && name.endsWith(lateIsSetSuffix);
|
||||
}
|
||||
|
||||
@@ -228,12 +231,15 @@ String extractLocalNameFromLateLoweredIsSet(String name) {
|
||||
///
|
||||
/// where '#local#get' is the local function for reading the variable.
|
||||
bool isLateLoweredLocalGetter(VariableDeclaration node) {
|
||||
return node.name != null && isLateLoweredGetterName(node.name);
|
||||
assert(node.isLowered ||
|
||||
node.name == null ||
|
||||
!isLateLoweredLocalGetterName(node.name));
|
||||
return node.isLowered && isLateLoweredLocalGetterName(node.name);
|
||||
}
|
||||
|
||||
/// Returns `true` if [name] is the name of the local variable for the local
|
||||
/// function for reading the value of a lowered late variable.
|
||||
bool isLateLoweredGetterName(String name) {
|
||||
bool isLateLoweredLocalGetterName(String name) {
|
||||
return name.startsWith(lateLocalPrefix) &&
|
||||
name.endsWith(lateLocalGetterSuffix);
|
||||
}
|
||||
@@ -266,12 +272,15 @@ String extractLocalNameFromLateLoweredGetter(String name) {
|
||||
/// where '#local#set' is the local function for setting the value of the
|
||||
/// variable.
|
||||
bool isLateLoweredLocalSetter(VariableDeclaration node) {
|
||||
return node.name != null && isLateLoweredSetterName(node.name);
|
||||
assert(node.isLowered ||
|
||||
node.name == null ||
|
||||
!isLateLoweredLocalSetterName(node.name));
|
||||
return node.isLowered && isLateLoweredLocalSetterName(node.name);
|
||||
}
|
||||
|
||||
/// Returns `true` if [name] is the name of the local variable for the local
|
||||
/// function for setting the value of a lowered late variable.
|
||||
bool isLateLoweredSetterName(String name) {
|
||||
bool isLateLoweredLocalSetterName(String name) {
|
||||
return name.startsWith(lateLocalPrefix) &&
|
||||
name.endsWith(lateLocalSetterSuffix);
|
||||
}
|
||||
@@ -285,3 +294,84 @@ String extractLocalNameFromLateLoweredSetter(String name) {
|
||||
return name.substring(
|
||||
lateLocalPrefix.length, name.length - lateLocalSetterSuffix.length);
|
||||
}
|
||||
|
||||
/// Returns `true` if [node] is the synthetic parameter holding the `this` value
|
||||
/// in the encoding of extension instance members.
|
||||
///
|
||||
/// For instance
|
||||
///
|
||||
/// extension Extension on int {
|
||||
/// int method() => this;
|
||||
/// }
|
||||
///
|
||||
/// is encoded as
|
||||
///
|
||||
/// int Extension|method(int #this) => #this;
|
||||
///
|
||||
/// where '#this' is the synthetic "extension this" parameter.
|
||||
bool isExtensionThis(VariableDeclaration node) {
|
||||
assert(
|
||||
node.isLowered || node.name == null || !isExtensionThisName(node.name));
|
||||
return node.isLowered && isExtensionThisName(node.name);
|
||||
}
|
||||
|
||||
/// Returns `true` if [name] is the name of the synthetic parameter holding the
|
||||
/// `this` value in the encoding of extension instance members.
|
||||
bool isExtensionThisName(String name) {
|
||||
return name == extensionThisName;
|
||||
}
|
||||
|
||||
/// Returns the name of the original variable from the [name] of the synthetic
|
||||
/// parameter holding the `this` value in the encoding of extension instance
|
||||
/// members.
|
||||
///
|
||||
/// This method assumes that `isExtensionThisName(name)` is `true`.
|
||||
String extractLocalNameForExtensionThis(String name) {
|
||||
return 'this';
|
||||
}
|
||||
|
||||
/// Returns the original name of the variable [node].
|
||||
///
|
||||
/// If [node] is a lowered variable then the name before lowering is returned.
|
||||
/// Otherwise the name of the variable itself is returned.
|
||||
///
|
||||
/// Note that the name can be `null` in case of a synthetic variable created
|
||||
/// for instance for encoding of `?.`.
|
||||
String extractLocalNameFromVariable(VariableDeclaration node) {
|
||||
if (node.isLowered) {
|
||||
String name = _extractLocalName(node.name);
|
||||
if (name == null) {
|
||||
throw new UnsupportedError("Unrecognized lowered local $node");
|
||||
}
|
||||
return name;
|
||||
}
|
||||
return node.name;
|
||||
}
|
||||
|
||||
/// Returns the original name of a variable by the given [name].
|
||||
///
|
||||
/// If [name] is the name of a lowered variable then the name before lowering is
|
||||
/// returned. Otherwise the name of the variable itself is returned.
|
||||
///
|
||||
/// This assumed that [name] is non-null.
|
||||
String extractLocalName(String name) {
|
||||
return _extractLocalName(name) ?? name;
|
||||
}
|
||||
|
||||
/// Returns the original name of a lowered variable by the given [name].
|
||||
///
|
||||
/// If [name] doesn't correspond to a lowered name `null` is returned.
|
||||
String _extractLocalName(String name) {
|
||||
if (isExtensionThisName(name)) {
|
||||
return extractLocalNameForExtensionThis(name);
|
||||
} else if (isLateLoweredLocalName(name)) {
|
||||
return extractLocalNameFromLateLoweredLocal(name);
|
||||
} else if (isLateLoweredLocalGetterName(name)) {
|
||||
return extractLocalNameFromLateLoweredGetter(name);
|
||||
} else if (isLateLoweredLocalSetterName(name)) {
|
||||
return extractLocalNameFromLateLoweredSetter(name);
|
||||
} else if (isLateLoweredIsSetLocalName(name)) {
|
||||
return extractLocalNameFromLateLoweredIsSet(name);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -74,9 +74,11 @@ class FormalParameterBuilder extends ModifierBuilderImpl
|
||||
/// True if the initializer was declared by the programmer.
|
||||
bool hasDeclaredInitializer = false;
|
||||
|
||||
final bool isExtensionThis;
|
||||
|
||||
FormalParameterBuilder(this.metadata, this.modifiers, this.type, this.name,
|
||||
LibraryBuilder compilationUnit, int charOffset,
|
||||
[Uri fileUri])
|
||||
{Uri fileUri, this.isExtensionThis: false})
|
||||
: super(compilationUnit, charOffset, fileUri);
|
||||
|
||||
String get debugName => "FormalParameterBuilder";
|
||||
@@ -122,7 +124,8 @@ class FormalParameterBuilder extends ModifierBuilderImpl
|
||||
isFieldFormal: isInitializingFormal,
|
||||
isCovariant: isCovariant,
|
||||
isRequired: isNamedRequired,
|
||||
hasDeclaredInitializer: hasDeclaredInitializer)
|
||||
hasDeclaredInitializer: hasDeclaredInitializer,
|
||||
isLowered: isExtensionThis)
|
||||
..fileOffset = charOffset;
|
||||
}
|
||||
return variable;
|
||||
@@ -131,8 +134,9 @@ class FormalParameterBuilder extends ModifierBuilderImpl
|
||||
FormalParameterBuilder clone(List<TypeBuilder> newTypes) {
|
||||
// TODO(dmitryas): It's not clear how [metadata] is used currently, and
|
||||
// how it should be cloned. Consider cloning it instead of reusing it.
|
||||
return new FormalParameterBuilder(metadata, modifiers,
|
||||
type?.clone(newTypes), name, parent, charOffset, fileUri)
|
||||
return new FormalParameterBuilder(
|
||||
metadata, modifiers, type?.clone(newTypes), name, parent, charOffset,
|
||||
fileUri: fileUri, isExtensionThis: isExtensionThis)
|
||||
..kind = kind;
|
||||
}
|
||||
|
||||
@@ -147,7 +151,8 @@ class FormalParameterBuilder extends ModifierBuilderImpl
|
||||
name,
|
||||
null,
|
||||
charOffset,
|
||||
fileUri)
|
||||
fileUri: fileUri,
|
||||
isExtensionThis: isExtensionThis)
|
||||
..parent = parent
|
||||
..variable = variable);
|
||||
}
|
||||
|
||||
@@ -482,7 +482,9 @@ class SourceProcedureBuilder extends ProcedureBuilderImpl {
|
||||
VariableDeclaration parameter, DartType type,
|
||||
{bool isOptional}) {
|
||||
VariableDeclaration newParameter = new VariableDeclaration(parameter.name,
|
||||
type: type, isFinal: parameter.isFinal)
|
||||
type: type,
|
||||
isFinal: parameter.isFinal,
|
||||
isLowered: parameter.isLowered)
|
||||
..fileOffset = parameter.fileOffset;
|
||||
_extensionTearOffParameterMap[parameter] = newParameter;
|
||||
return newParameter;
|
||||
|
||||
@@ -1394,7 +1394,8 @@ class BodyBuilder extends ScopeListener<JumpTarget>
|
||||
for (int i = 0; i < parameters.positionalParameters.length; i++) {
|
||||
VariableDeclaration formal = parameters.positionalParameters[i];
|
||||
formals[i] = new FormalParameterBuilder(
|
||||
null, 0, null, formal.name, libraryBuilder, formal.fileOffset, uri)
|
||||
null, 0, null, formal.name, libraryBuilder, formal.fileOffset,
|
||||
fileUri: uri)
|
||||
..variable = formal;
|
||||
}
|
||||
enterLocalScope(
|
||||
@@ -3567,7 +3568,8 @@ class BodyBuilder extends ScopeListener<JumpTarget>
|
||||
}
|
||||
} else {
|
||||
parameter = new FormalParameterBuilder(null, modifiers, type?.builder,
|
||||
name?.name, libraryBuilder, offsetForToken(nameToken), uri)
|
||||
name?.name, libraryBuilder, offsetForToken(nameToken),
|
||||
fileUri: uri)
|
||||
..hasDeclaredInitializer = (initializerStart != null);
|
||||
}
|
||||
VariableDeclaration variable = parameter.build(
|
||||
|
||||
@@ -5807,7 +5807,8 @@ class InferenceVisitor
|
||||
isSetVariable = new VariableDeclaration(
|
||||
late_lowering.computeLateLocalIsSetName(node.name),
|
||||
initializer: new BoolLiteral(false)..fileOffset = fileOffset,
|
||||
type: inferrer.coreTypes.boolRawType(inferrer.library.nonNullable))
|
||||
type: inferrer.coreTypes.boolRawType(inferrer.library.nonNullable),
|
||||
isLowered: true)
|
||||
..fileOffset = fileOffset;
|
||||
result.add(isSetVariable);
|
||||
}
|
||||
@@ -5828,7 +5829,8 @@ class InferenceVisitor
|
||||
new VariableSet(isSetVariable, value);
|
||||
|
||||
VariableDeclaration getVariable = new VariableDeclaration(
|
||||
late_lowering.computeLateLocalGetterName(node.name))
|
||||
late_lowering.computeLateLocalGetterName(node.name),
|
||||
isLowered: true)
|
||||
..fileOffset = fileOffset;
|
||||
FunctionDeclaration getter = new FunctionDeclaration(
|
||||
getVariable,
|
||||
@@ -5875,7 +5877,8 @@ class InferenceVisitor
|
||||
node.isLateFinalWithoutInitializer =
|
||||
node.isFinal && node.initializer == null;
|
||||
VariableDeclaration setVariable = new VariableDeclaration(
|
||||
late_lowering.computeLateLocalSetterName(node.name))
|
||||
late_lowering.computeLateLocalSetterName(node.name),
|
||||
isLowered: true)
|
||||
..fileOffset = fileOffset;
|
||||
VariableDeclaration setterParameter =
|
||||
new VariableDeclaration(null, type: node.type)
|
||||
@@ -5927,6 +5930,7 @@ class InferenceVisitor
|
||||
}
|
||||
node.type = inferrer.computeNullable(node.type);
|
||||
node.lateName = node.name;
|
||||
node.isLowered = true;
|
||||
node.name = late_lowering.computeLateLocalName(node.name);
|
||||
|
||||
return new StatementInferenceResult.multiple(node.fileOffset, result);
|
||||
|
||||
@@ -1428,6 +1428,7 @@ class VariableDeclarationImpl extends VariableDeclaration {
|
||||
bool isLocalFunction: false,
|
||||
bool isLate: false,
|
||||
bool isRequired: false,
|
||||
bool isLowered: false,
|
||||
this.isStaticLate: false})
|
||||
: isImplicitlyTyped = type == null,
|
||||
isLocalFunction = isLocalFunction,
|
||||
@@ -1439,7 +1440,8 @@ class VariableDeclarationImpl extends VariableDeclaration {
|
||||
isFieldFormal: isFieldFormal,
|
||||
isCovariant: isCovariant,
|
||||
isLate: isLate,
|
||||
isRequired: isRequired);
|
||||
isRequired: isRequired,
|
||||
isLowered: isLowered);
|
||||
|
||||
VariableDeclarationImpl.forEffect(Expression initializer)
|
||||
: forSyntheticToken = false,
|
||||
|
||||
@@ -593,9 +593,7 @@ IsSetEncoding computeIsSetEncoding(DartType type, IsSetStrategy isSetStrategy) {
|
||||
/// Returns the name used for the variable that holds the value of a late
|
||||
/// lowered local by the given [name].
|
||||
String computeLateLocalName(String name) {
|
||||
// TODO(johnniwinther): Change this to '${lateLocalPrefix}${name}' if
|
||||
// backends can benefit from identifying late locals.
|
||||
return name;
|
||||
return '${lateLocalPrefix}$name';
|
||||
}
|
||||
|
||||
/// Returns the name used for the 'isSet' variable of a late lowered local by
|
||||
|
||||
@@ -351,7 +351,8 @@ TypeBuilder substituteRange(
|
||||
formal.name,
|
||||
formal.parent,
|
||||
formal.charOffset,
|
||||
formal.fileUri);
|
||||
fileUri: formal.fileUri,
|
||||
isExtensionThis: formal.isExtensionThis);
|
||||
changed = true;
|
||||
} else {
|
||||
formals[i] = formal;
|
||||
|
||||
@@ -163,15 +163,25 @@ class TypeBuilderComputer implements DartTypeVisitor<TypeBuilder> {
|
||||
if (i >= node.requiredParameterCount) {
|
||||
kind = FormalParameterKind.optionalPositional;
|
||||
}
|
||||
formals[i] =
|
||||
new FormalParameterBuilder(null, 0, type, null, null, -1, null)
|
||||
..kind = kind;
|
||||
formals[i] = new FormalParameterBuilder(
|
||||
/* metadata = */ null,
|
||||
/* modifiers = */ 0,
|
||||
type,
|
||||
/* name = */ null,
|
||||
/* compilationUnit = */ null,
|
||||
/* charOffset = */ TreeNode.noOffset)
|
||||
..kind = kind;
|
||||
}
|
||||
for (int i = 0; i < namedParameters.length; i++) {
|
||||
NamedType parameter = namedParameters[i];
|
||||
TypeBuilder type = parameter.type.accept(this);
|
||||
formals[i + positionalParameters.length] = new FormalParameterBuilder(
|
||||
null, 0, type, parameter.name, null, -1, null)
|
||||
/* metadata = */ null,
|
||||
/* modifiers = */ 0,
|
||||
type,
|
||||
parameter.name,
|
||||
/* compilationUnit = */ null,
|
||||
/* charOffset = */ TreeNode.noOffset)
|
||||
..kind = FormalParameterKind.optionalNamed;
|
||||
}
|
||||
return new FunctionTypeBuilder(
|
||||
@@ -180,7 +190,7 @@ class TypeBuilderComputer implements DartTypeVisitor<TypeBuilder> {
|
||||
formals,
|
||||
new NullabilityBuilder.fromNullability(node.nullability),
|
||||
/* fileUri = */ null,
|
||||
/* charOffset = */ null);
|
||||
/* charOffset = */ TreeNode.noOffset);
|
||||
}
|
||||
|
||||
TypeBuilder visitTypeParameterType(TypeParameterType node) {
|
||||
|
||||
@@ -80,6 +80,8 @@ import '../operator.dart'
|
||||
|
||||
import '../problems.dart' show unhandled;
|
||||
|
||||
import 'source_extension_builder.dart';
|
||||
|
||||
import 'source_library_builder.dart'
|
||||
show
|
||||
TypeParameterScopeBuilder,
|
||||
@@ -1170,7 +1172,8 @@ class OutlineBuilder extends StackListenerImpl {
|
||||
libraryBuilder.boundlessTypeVariables.addAll(unboundTypeVariables);
|
||||
}
|
||||
synthesizedFormals.add(new FormalParameterBuilder(
|
||||
null, finalMask, thisType, "#this", null, charOffset, uri));
|
||||
null, finalMask, thisType, extensionThisName, null, charOffset,
|
||||
fileUri: uri, isExtensionThis: true));
|
||||
if (formals != null) {
|
||||
synthesizedFormals.addAll(formals);
|
||||
}
|
||||
|
||||
@@ -35,6 +35,8 @@ import '../scope.dart';
|
||||
|
||||
import 'source_library_builder.dart';
|
||||
|
||||
const String extensionThisName = '#this';
|
||||
|
||||
class SourceExtensionBuilder extends ExtensionBuilderImpl {
|
||||
final Extension _extension;
|
||||
|
||||
|
||||
@@ -2587,7 +2587,8 @@ class SourceLibraryBuilder extends LibraryBuilderImpl {
|
||||
modifiers |= initializingFormalMask;
|
||||
}
|
||||
FormalParameterBuilder formal = new FormalParameterBuilder(
|
||||
metadata, modifiers, type, name, this, charOffset, fileUri)
|
||||
metadata, modifiers, type, name, this, charOffset,
|
||||
fileUri: fileUri)
|
||||
..initializerToken = initializerToken
|
||||
..hasDeclaredInitializer = (initializerToken != null);
|
||||
return formal;
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// Copyright (c) 2020, 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.
|
||||
|
||||
extension Extension on int {
|
||||
int /*extensionThis*/ instanceMethod() => this;
|
||||
|
||||
int get /*extensionThis*/ instanceGetter => this;
|
||||
|
||||
void set /*extensionThis*/ instanceSetter(int value) {}
|
||||
|
||||
static int staticMethod() => 42;
|
||||
|
||||
static int get staticGetter => 42;
|
||||
|
||||
static void set staticSetter(int value) {}
|
||||
}
|
||||
@@ -122,51 +122,63 @@ class Class {
|
||||
}
|
||||
|
||||
method() {
|
||||
late int /*
|
||||
late int
|
||||
/*
|
||||
lateIsSetLocal,
|
||||
lateLocal,
|
||||
lateLocalGetter,
|
||||
lateLocalSetter
|
||||
*/
|
||||
localNonNullableWithoutInitializer;
|
||||
late final int
|
||||
/*
|
||||
lateIsSetLocal,
|
||||
lateLocalGetter,
|
||||
lateLocalSetter
|
||||
*/
|
||||
lateIsSetLocal,
|
||||
lateLocal,
|
||||
lateLocalGetter,
|
||||
lateLocalSetter
|
||||
*/
|
||||
finalLocalNonNullableWithoutInitializer;
|
||||
late int? /*
|
||||
late int?
|
||||
/*
|
||||
lateIsSetLocal,
|
||||
lateLocal,
|
||||
lateLocalGetter,
|
||||
lateLocalSetter
|
||||
*/
|
||||
localNullableWithoutInitializer;
|
||||
late final int?
|
||||
/*
|
||||
lateIsSetLocal,
|
||||
lateLocalGetter,
|
||||
lateLocalSetter
|
||||
*/
|
||||
lateIsSetLocal,
|
||||
lateLocal,
|
||||
lateLocalGetter,
|
||||
lateLocalSetter
|
||||
*/
|
||||
finalLocalNullableWithoutInitializer;
|
||||
late int /*
|
||||
late int
|
||||
/*
|
||||
lateIsSetLocal,
|
||||
lateLocal,
|
||||
lateLocalGetter,
|
||||
lateLocalSetter
|
||||
*/
|
||||
localNonNullableWithInitializer = 0;
|
||||
late final int /*
|
||||
lateIsSetLocal,
|
||||
lateLocal,
|
||||
lateLocalGetter
|
||||
*/
|
||||
finalLocalNonNullableWithInitializer = 0;
|
||||
late int? /*
|
||||
late int?
|
||||
/*
|
||||
lateIsSetLocal,
|
||||
lateLocal,
|
||||
lateLocalGetter,
|
||||
lateLocalSetter
|
||||
*/
|
||||
localNullableWithInitializer = 0;
|
||||
late final int? /*
|
||||
lateIsSetLocal,
|
||||
lateLocal,
|
||||
lateLocalGetter
|
||||
*/
|
||||
finalLocalNullableWithInitializer = 0;
|
||||
|
||||
@@ -41,6 +41,8 @@ class Tags {
|
||||
static const String lateIsSetLocal = 'lateIsSetLocal';
|
||||
static const String lateLocalGetter = 'lateLocalGetter';
|
||||
static const String lateLocalSetter = 'lateLocalSetter';
|
||||
|
||||
static const String extensionThis = 'extensionThis';
|
||||
}
|
||||
|
||||
class PredicateDataComputer extends DataComputer<Features> {
|
||||
@@ -129,7 +131,10 @@ class PredicateDataExtractor extends CfeDataExtractor<Features> {
|
||||
void visitVariableDeclaration(VariableDeclaration node) {
|
||||
String name;
|
||||
String tag;
|
||||
if (isLateLoweredIsSetLocal(node)) {
|
||||
if (isLateLoweredLocal(node)) {
|
||||
name = extractLocalNameFromLateLoweredLocal(node.name);
|
||||
tag = Tags.lateLocal;
|
||||
} else if (isLateLoweredIsSetLocal(node)) {
|
||||
name = extractLocalNameFromLateLoweredIsSet(node.name);
|
||||
tag = Tags.lateIsSetLocal;
|
||||
} else if (isLateLoweredLocalGetter(node)) {
|
||||
@@ -138,6 +143,9 @@ class PredicateDataExtractor extends CfeDataExtractor<Features> {
|
||||
} else if (isLateLoweredLocalSetter(node)) {
|
||||
name = extractLocalNameFromLateLoweredSetter(node.name);
|
||||
tag = Tags.lateLocalSetter;
|
||||
} else if (isExtensionThis(node)) {
|
||||
name = extractLocalNameForExtensionThis(node.name);
|
||||
tag = Tags.extensionThis;
|
||||
} else if (node.name != null) {
|
||||
name = node.name;
|
||||
}
|
||||
@@ -152,4 +160,16 @@ class PredicateDataExtractor extends CfeDataExtractor<Features> {
|
||||
}
|
||||
super.visitVariableDeclaration(node);
|
||||
}
|
||||
|
||||
@override
|
||||
ActualData<Features> mergeData(
|
||||
ActualData<Features> value1, ActualData<Features> value2) {
|
||||
if ('${value1.value}' == '${value2.value}') {
|
||||
// The extension this parameter is seen twice in the extension method
|
||||
// and the corresponding tearoff. The features are identical, though, so
|
||||
// we just use the first.
|
||||
return value1;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,37 +36,37 @@ extension B on self::C* {
|
||||
set setter = self::B|set#setter;
|
||||
set property = self::B|set#property;
|
||||
}
|
||||
static method A|method(final self::C* #this) → void
|
||||
static method A|method(lowered final self::C* #this) → void
|
||||
;
|
||||
static method A|get#method(final self::C* #this) → () →* void
|
||||
static method A|get#method(lowered final self::C* #this) → () →* void
|
||||
return () → void => self::A|method(#this);
|
||||
static method A|get#getter(final self::C* #this) → core::int*
|
||||
static method A|get#getter(lowered final self::C* #this) → core::int*
|
||||
;
|
||||
static method A|set#setter(final self::C* #this, core::int* value) → void
|
||||
static method A|set#setter(lowered final self::C* #this, core::int* value) → void
|
||||
;
|
||||
static method A|get#property(final self::C* #this) → core::int*
|
||||
static method A|get#property(lowered final self::C* #this) → core::int*
|
||||
;
|
||||
static method A|+(final self::C* #this, core::int* i) → core::int*
|
||||
static method A|+(lowered final self::C* #this, core::int* i) → core::int*
|
||||
;
|
||||
static method A|unary-(final self::C* #this) → core::int*
|
||||
static method A|unary-(lowered final self::C* #this) → core::int*
|
||||
;
|
||||
static method A|[](final self::C* #this, core::int* i) → core::int*
|
||||
static method A|[](lowered final self::C* #this, core::int* i) → core::int*
|
||||
;
|
||||
static method B|method(final self::C* #this) → void
|
||||
static method B|method(lowered final self::C* #this) → void
|
||||
;
|
||||
static method B|get#method(final self::C* #this) → () →* void
|
||||
static method B|get#method(lowered final self::C* #this) → () →* void
|
||||
return () → void => self::B|method(#this);
|
||||
static method B|get#getter(final self::C* #this) → core::int*
|
||||
static method B|get#getter(lowered final self::C* #this) → core::int*
|
||||
;
|
||||
static method B|set#setter(final self::C* #this, core::int* value) → void
|
||||
static method B|set#setter(lowered final self::C* #this, core::int* value) → void
|
||||
;
|
||||
static method B|set#property(final self::C* #this, core::int* value) → void
|
||||
static method B|set#property(lowered final self::C* #this, core::int* value) → void
|
||||
;
|
||||
static method B|+(final self::C* #this, core::int* i) → core::int*
|
||||
static method B|+(lowered final self::C* #this, core::int* i) → core::int*
|
||||
;
|
||||
static method B|unary-(final self::C* #this) → core::int*
|
||||
static method B|unary-(lowered final self::C* #this) → core::int*
|
||||
;
|
||||
static method B|[]=(final self::C* #this, core::int* i, core::int* j) → void
|
||||
static method B|[]=(lowered final self::C* #this, core::int* i, core::int* j) → void
|
||||
;
|
||||
static method errors(self::C* c) → dynamic
|
||||
;
|
||||
|
||||
@@ -184,32 +184,32 @@ extension B on self::C* {
|
||||
set setter = self::B|set#setter;
|
||||
set property = self::B|set#property;
|
||||
}
|
||||
static method A|method(final self::C* #this) → void {}
|
||||
static method A|get#method(final self::C* #this) → () →* void
|
||||
static method A|method(lowered final self::C* #this) → void {}
|
||||
static method A|get#method(lowered final self::C* #this) → () →* void
|
||||
return () → void => self::A|method(#this);
|
||||
static method A|get#getter(final self::C* #this) → core::int*
|
||||
static method A|get#getter(lowered final self::C* #this) → core::int*
|
||||
return 42;
|
||||
static method A|set#setter(final self::C* #this, core::int* value) → void {}
|
||||
static method A|get#property(final self::C* #this) → core::int*
|
||||
static method A|set#setter(lowered final self::C* #this, core::int* value) → void {}
|
||||
static method A|get#property(lowered final self::C* #this) → core::int*
|
||||
return 42;
|
||||
static method A|+(final self::C* #this, core::int* i) → core::int*
|
||||
static method A|+(lowered final self::C* #this, core::int* i) → core::int*
|
||||
return i;
|
||||
static method A|unary-(final self::C* #this) → core::int*
|
||||
static method A|unary-(lowered final self::C* #this) → core::int*
|
||||
return 0;
|
||||
static method A|[](final self::C* #this, core::int* i) → core::int*
|
||||
static method A|[](lowered final self::C* #this, core::int* i) → core::int*
|
||||
return i;
|
||||
static method B|method(final self::C* #this) → void {}
|
||||
static method B|get#method(final self::C* #this) → () →* void
|
||||
static method B|method(lowered final self::C* #this) → void {}
|
||||
static method B|get#method(lowered final self::C* #this) → () →* void
|
||||
return () → void => self::B|method(#this);
|
||||
static method B|get#getter(final self::C* #this) → core::int*
|
||||
static method B|get#getter(lowered final self::C* #this) → core::int*
|
||||
return 42;
|
||||
static method B|set#setter(final self::C* #this, core::int* value) → void {}
|
||||
static method B|set#property(final self::C* #this, core::int* value) → void {}
|
||||
static method B|+(final self::C* #this, core::int* i) → core::int*
|
||||
static method B|set#setter(lowered final self::C* #this, core::int* value) → void {}
|
||||
static method B|set#property(lowered final self::C* #this, core::int* value) → void {}
|
||||
static method B|+(lowered final self::C* #this, core::int* i) → core::int*
|
||||
return i;
|
||||
static method B|unary-(final self::C* #this) → core::int*
|
||||
static method B|unary-(lowered final self::C* #this) → core::int*
|
||||
return 0;
|
||||
static method B|[]=(final self::C* #this, core::int* i, core::int* j) → void {}
|
||||
static method B|[]=(lowered final self::C* #this, core::int* i, core::int* j) → void {}
|
||||
static method errors(self::C* c) → dynamic {
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:28:5: Error: The method 'method' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
|
||||
@@ -184,32 +184,32 @@ extension B on self::C* {
|
||||
set setter = self::B|set#setter;
|
||||
set property = self::B|set#property;
|
||||
}
|
||||
static method A|method(final self::C* #this) → void {}
|
||||
static method A|get#method(final self::C* #this) → () →* void
|
||||
static method A|method(lowered final self::C* #this) → void {}
|
||||
static method A|get#method(lowered final self::C* #this) → () →* void
|
||||
return () → void => self::A|method(#this);
|
||||
static method A|get#getter(final self::C* #this) → core::int*
|
||||
static method A|get#getter(lowered final self::C* #this) → core::int*
|
||||
return 42;
|
||||
static method A|set#setter(final self::C* #this, core::int* value) → void {}
|
||||
static method A|get#property(final self::C* #this) → core::int*
|
||||
static method A|set#setter(lowered final self::C* #this, core::int* value) → void {}
|
||||
static method A|get#property(lowered final self::C* #this) → core::int*
|
||||
return 42;
|
||||
static method A|+(final self::C* #this, core::int* i) → core::int*
|
||||
static method A|+(lowered final self::C* #this, core::int* i) → core::int*
|
||||
return i;
|
||||
static method A|unary-(final self::C* #this) → core::int*
|
||||
static method A|unary-(lowered final self::C* #this) → core::int*
|
||||
return 0;
|
||||
static method A|[](final self::C* #this, core::int* i) → core::int*
|
||||
static method A|[](lowered final self::C* #this, core::int* i) → core::int*
|
||||
return i;
|
||||
static method B|method(final self::C* #this) → void {}
|
||||
static method B|get#method(final self::C* #this) → () →* void
|
||||
static method B|method(lowered final self::C* #this) → void {}
|
||||
static method B|get#method(lowered final self::C* #this) → () →* void
|
||||
return () → void => self::B|method(#this);
|
||||
static method B|get#getter(final self::C* #this) → core::int*
|
||||
static method B|get#getter(lowered final self::C* #this) → core::int*
|
||||
return 42;
|
||||
static method B|set#setter(final self::C* #this, core::int* value) → void {}
|
||||
static method B|set#property(final self::C* #this, core::int* value) → void {}
|
||||
static method B|+(final self::C* #this, core::int* i) → core::int*
|
||||
static method B|set#setter(lowered final self::C* #this, core::int* value) → void {}
|
||||
static method B|set#property(lowered final self::C* #this, core::int* value) → void {}
|
||||
static method B|+(lowered final self::C* #this, core::int* i) → core::int*
|
||||
return i;
|
||||
static method B|unary-(final self::C* #this) → core::int*
|
||||
static method B|unary-(lowered final self::C* #this) → core::int*
|
||||
return 0;
|
||||
static method B|[]=(final self::C* #this, core::int* i, core::int* j) → void {}
|
||||
static method B|[]=(lowered final self::C* #this, core::int* i, core::int* j) → void {}
|
||||
static method errors(self::C* c) → dynamic {
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:28:5: Error: The method 'method' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
|
||||
@@ -28,9 +28,9 @@ extension Extension on self::Class* {
|
||||
static method extensionStaticMethod = self::Extension|extensionStaticMethod;
|
||||
}
|
||||
@core::pragma::_("dart2js:noInline")
|
||||
static method Extension|extensionInstanceMethod(final self::Class* #this) → dynamic
|
||||
static method Extension|extensionInstanceMethod(lowered final self::Class* #this) → dynamic
|
||||
;
|
||||
static method Extension|get#extensionInstanceMethod(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|get#extensionInstanceMethod(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|extensionInstanceMethod(#this);
|
||||
@core::pragma::_("dart2js:noInline")
|
||||
static method Extension|extensionStaticMethod() → dynamic
|
||||
|
||||
@@ -27,8 +27,8 @@ extension Extension on self::Class* {
|
||||
static method extensionStaticMethod = self::Extension|extensionStaticMethod;
|
||||
}
|
||||
@#C3
|
||||
static method Extension|extensionInstanceMethod(final self::Class* #this) → dynamic {}
|
||||
static method Extension|get#extensionInstanceMethod(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|extensionInstanceMethod(lowered final self::Class* #this) → dynamic {}
|
||||
static method Extension|get#extensionInstanceMethod(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|extensionInstanceMethod(#this);
|
||||
@#C3
|
||||
static method Extension|extensionStaticMethod() → dynamic {}
|
||||
|
||||
@@ -27,8 +27,8 @@ extension Extension on self::Class* {
|
||||
static method extensionStaticMethod = self::Extension|extensionStaticMethod;
|
||||
}
|
||||
@#C3
|
||||
static method Extension|extensionInstanceMethod(final self::Class* #this) → dynamic {}
|
||||
static method Extension|get#extensionInstanceMethod(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|extensionInstanceMethod(lowered final self::Class* #this) → dynamic {}
|
||||
static method Extension|get#extensionInstanceMethod(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|extensionInstanceMethod(#this);
|
||||
@#C3
|
||||
static method Extension|extensionStaticMethod() → dynamic {}
|
||||
|
||||
@@ -10,17 +10,17 @@ extension Extension on core::int* {
|
||||
method asyncStarMethod = self::Extension|asyncStarMethod;
|
||||
tearoff asyncStarMethod = self::Extension|get#asyncStarMethod;
|
||||
}
|
||||
static method Extension|syncStarMethod(final core::int* #this) → dynamic sync*
|
||||
static method Extension|syncStarMethod(lowered final core::int* #this) → dynamic sync*
|
||||
;
|
||||
static method Extension|get#syncStarMethod(final core::int* #this) → () →* dynamic
|
||||
static method Extension|get#syncStarMethod(lowered final core::int* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|syncStarMethod(#this);
|
||||
static method Extension|asyncMethod(final core::int* #this) → dynamic async
|
||||
static method Extension|asyncMethod(lowered final core::int* #this) → dynamic async
|
||||
;
|
||||
static method Extension|get#asyncMethod(final core::int* #this) → () →* dynamic
|
||||
static method Extension|get#asyncMethod(lowered final core::int* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|asyncMethod(#this);
|
||||
static method Extension|asyncStarMethod(final core::int* #this) → dynamic async*
|
||||
static method Extension|asyncStarMethod(lowered final core::int* #this) → dynamic async*
|
||||
;
|
||||
static method Extension|get#asyncStarMethod(final core::int* #this) → () →* dynamic
|
||||
static method Extension|get#asyncStarMethod(lowered final core::int* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|asyncStarMethod(#this);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -10,14 +10,14 @@ extension Extension on core::int* {
|
||||
method asyncStarMethod = self::Extension|asyncStarMethod;
|
||||
tearoff asyncStarMethod = self::Extension|get#asyncStarMethod;
|
||||
}
|
||||
static method Extension|syncStarMethod(final core::int* #this) → dynamic sync* {}
|
||||
static method Extension|get#syncStarMethod(final core::int* #this) → () →* dynamic
|
||||
static method Extension|syncStarMethod(lowered final core::int* #this) → dynamic sync* {}
|
||||
static method Extension|get#syncStarMethod(lowered final core::int* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|syncStarMethod(#this);
|
||||
static method Extension|asyncMethod(final core::int* #this) → dynamic async {}
|
||||
static method Extension|get#asyncMethod(final core::int* #this) → () →* dynamic
|
||||
static method Extension|asyncMethod(lowered final core::int* #this) → dynamic async {}
|
||||
static method Extension|get#asyncMethod(lowered final core::int* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|asyncMethod(#this);
|
||||
static method Extension|asyncStarMethod(final core::int* #this) → dynamic async* {}
|
||||
static method Extension|get#asyncStarMethod(final core::int* #this) → () →* dynamic
|
||||
static method Extension|asyncStarMethod(lowered final core::int* #this) → dynamic async* {}
|
||||
static method Extension|get#asyncStarMethod(lowered final core::int* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|asyncStarMethod(#this);
|
||||
static method main() → dynamic {
|
||||
self::Extension|syncStarMethod(0);
|
||||
|
||||
@@ -11,7 +11,7 @@ extension Extension on core::int* {
|
||||
method asyncStarMethod = self::Extension|asyncStarMethod;
|
||||
tearoff asyncStarMethod = self::Extension|get#asyncStarMethod;
|
||||
}
|
||||
static method Extension|syncStarMethod(final core::int* #this) → dynamic /* originally sync* */ {
|
||||
static method Extension|syncStarMethod(lowered final core::int* #this) → dynamic /* originally sync* */ {
|
||||
function :sync_op_gen() → (core::_SyncIterator<dynamic>*, dynamic, dynamic) →* core::bool* {
|
||||
core::int* :await_jump_var = 0;
|
||||
dynamic :await_ctx_var;
|
||||
@@ -23,9 +23,9 @@ static method Extension|syncStarMethod(final core::int* #this) → dynamic /* or
|
||||
}
|
||||
return new core::_SyncIterable::•<dynamic>(:sync_op_gen);
|
||||
}
|
||||
static method Extension|get#syncStarMethod(final core::int* #this) → () →* dynamic
|
||||
static method Extension|get#syncStarMethod(lowered final core::int* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|syncStarMethod(#this);
|
||||
static method Extension|asyncMethod(final core::int* #this) → dynamic /* originally async */ {
|
||||
static method Extension|asyncMethod(lowered final core::int* #this) → dynamic /* originally async */ {
|
||||
final asy::_Future<dynamic>* :async_future = new asy::_Future::•<dynamic>();
|
||||
core::bool* :is_sync = false;
|
||||
FutureOr<dynamic>* :return_value;
|
||||
@@ -49,9 +49,9 @@ static method Extension|asyncMethod(final core::int* #this) → dynamic /* origi
|
||||
:is_sync = true;
|
||||
return :async_future;
|
||||
}
|
||||
static method Extension|get#asyncMethod(final core::int* #this) → () →* dynamic
|
||||
static method Extension|get#asyncMethod(lowered final core::int* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|asyncMethod(#this);
|
||||
static method Extension|asyncStarMethod(final core::int* #this) → dynamic /* originally async* */ {
|
||||
static method Extension|asyncStarMethod(lowered final core::int* #this) → dynamic /* originally async* */ {
|
||||
asy::_AsyncStarStreamController<dynamic>* :controller;
|
||||
dynamic :controller_stream;
|
||||
(dynamic) →* dynamic :async_op_then;
|
||||
@@ -77,7 +77,7 @@ static method Extension|asyncStarMethod(final core::int* #this) → dynamic /* o
|
||||
:controller_stream = :controller.{asy::_AsyncStarStreamController::stream};
|
||||
return :controller_stream;
|
||||
}
|
||||
static method Extension|get#asyncStarMethod(final core::int* #this) → () →* dynamic
|
||||
static method Extension|get#asyncStarMethod(lowered final core::int* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|asyncStarMethod(#this);
|
||||
static method main() → dynamic {
|
||||
self::Extension|syncStarMethod(0);
|
||||
|
||||
@@ -42,69 +42,69 @@ extension Extension4<T extends core::Object* = dynamic> on T* {
|
||||
method method4 = self::Extension4|method4;
|
||||
tearoff method4 = self::Extension4|get#method4;
|
||||
}
|
||||
static method Extension1|method1<T extends core::Object* = core::Object*, S extends core::Object* = core::Object*>(final self::Extension1|method1::T* #this) → dynamic
|
||||
static method Extension1|method1<T extends core::Object* = core::Object*, S extends core::Object* = core::Object*>(lowered final self::Extension1|method1::T* #this) → dynamic
|
||||
;
|
||||
static method Extension1|get#method1<T extends core::Object* = core::Object*>(final self::Extension1|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension1|get#method1<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension1|method1<self::Extension1|get#method1::T*, S*>(#this);
|
||||
static method Extension1|method2<T extends core::Object* = core::Object*, S extends core::String* = core::String*>(final self::Extension1|method2::T* #this) → dynamic
|
||||
static method Extension1|method2<T extends core::Object* = core::Object*, S extends core::String* = core::String*>(lowered final self::Extension1|method2::T* #this) → dynamic
|
||||
;
|
||||
static method Extension1|get#method2<T extends core::Object* = core::Object*>(final self::Extension1|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension1|get#method2<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension1|method2<self::Extension1|get#method2::T*, S*>(#this);
|
||||
static method Extension1|method3<T extends core::Object* = core::Object*, S extends dynamic = dynamic>(final self::Extension1|method3::T* #this) → dynamic
|
||||
static method Extension1|method3<T extends core::Object* = core::Object*, S extends dynamic = dynamic>(lowered final self::Extension1|method3::T* #this) → dynamic
|
||||
;
|
||||
static method Extension1|get#method3<T extends core::Object* = core::Object*>(final self::Extension1|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension1|get#method3<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension1|method3<self::Extension1|get#method3::T*, S%>(#this);
|
||||
static method Extension1|method4<T extends core::Object* = core::Object*, S extends core::Object* = dynamic>(final self::Extension1|method4::T* #this) → dynamic
|
||||
static method Extension1|method4<T extends core::Object* = core::Object*, S extends core::Object* = dynamic>(lowered final self::Extension1|method4::T* #this) → dynamic
|
||||
;
|
||||
static method Extension1|get#method4<T extends core::Object* = core::Object*>(final self::Extension1|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension1|get#method4<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension1|method4<self::Extension1|get#method4::T*, S*>(#this);
|
||||
static method Extension2|method1<T extends core::String* = core::String*, S extends core::Object* = core::Object*>(final self::Extension2|method1::T* #this) → dynamic
|
||||
static method Extension2|method1<T extends core::String* = core::String*, S extends core::Object* = core::Object*>(lowered final self::Extension2|method1::T* #this) → dynamic
|
||||
;
|
||||
static method Extension2|get#method1<T extends core::String* = core::String*>(final self::Extension2|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension2|get#method1<T extends core::String* = core::String*>(lowered final self::Extension2|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension2|method1<self::Extension2|get#method1::T*, S*>(#this);
|
||||
static method Extension2|method2<T extends core::String* = core::String*, S extends core::String* = core::String*>(final self::Extension2|method2::T* #this) → dynamic
|
||||
static method Extension2|method2<T extends core::String* = core::String*, S extends core::String* = core::String*>(lowered final self::Extension2|method2::T* #this) → dynamic
|
||||
;
|
||||
static method Extension2|get#method2<T extends core::String* = core::String*>(final self::Extension2|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension2|get#method2<T extends core::String* = core::String*>(lowered final self::Extension2|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension2|method2<self::Extension2|get#method2::T*, S*>(#this);
|
||||
static method Extension2|method3<T extends core::String* = core::String*, S extends dynamic = dynamic>(final self::Extension2|method3::T* #this) → dynamic
|
||||
static method Extension2|method3<T extends core::String* = core::String*, S extends dynamic = dynamic>(lowered final self::Extension2|method3::T* #this) → dynamic
|
||||
;
|
||||
static method Extension2|get#method3<T extends core::String* = core::String*>(final self::Extension2|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension2|get#method3<T extends core::String* = core::String*>(lowered final self::Extension2|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension2|method3<self::Extension2|get#method3::T*, S%>(#this);
|
||||
static method Extension2|method4<T extends core::String* = core::String*, S extends core::Object* = dynamic>(final self::Extension2|method4::T* #this) → dynamic
|
||||
static method Extension2|method4<T extends core::String* = core::String*, S extends core::Object* = dynamic>(lowered final self::Extension2|method4::T* #this) → dynamic
|
||||
;
|
||||
static method Extension2|get#method4<T extends core::String* = core::String*>(final self::Extension2|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension2|get#method4<T extends core::String* = core::String*>(lowered final self::Extension2|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension2|method4<self::Extension2|get#method4::T*, S*>(#this);
|
||||
static method Extension3|method1<T extends dynamic = dynamic, S extends core::Object* = core::Object*>(final self::Extension3|method1::T* #this) → dynamic
|
||||
static method Extension3|method1<T extends dynamic = dynamic, S extends core::Object* = core::Object*>(lowered final self::Extension3|method1::T* #this) → dynamic
|
||||
;
|
||||
static method Extension3|get#method1<T extends dynamic = dynamic>(final self::Extension3|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension3|get#method1<T extends dynamic = dynamic>(lowered final self::Extension3|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension3|method1<self::Extension3|get#method1::T%, S*>(#this);
|
||||
static method Extension3|method2<T extends dynamic = dynamic, S extends core::String* = core::String*>(final self::Extension3|method2::T* #this) → dynamic
|
||||
static method Extension3|method2<T extends dynamic = dynamic, S extends core::String* = core::String*>(lowered final self::Extension3|method2::T* #this) → dynamic
|
||||
;
|
||||
static method Extension3|get#method2<T extends dynamic = dynamic>(final self::Extension3|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension3|get#method2<T extends dynamic = dynamic>(lowered final self::Extension3|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension3|method2<self::Extension3|get#method2::T%, S*>(#this);
|
||||
static method Extension3|method3<T extends dynamic = dynamic, S extends dynamic = dynamic>(final self::Extension3|method3::T* #this) → dynamic
|
||||
static method Extension3|method3<T extends dynamic = dynamic, S extends dynamic = dynamic>(lowered final self::Extension3|method3::T* #this) → dynamic
|
||||
;
|
||||
static method Extension3|get#method3<T extends dynamic = dynamic>(final self::Extension3|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension3|get#method3<T extends dynamic = dynamic>(lowered final self::Extension3|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension3|method3<self::Extension3|get#method3::T%, S%>(#this);
|
||||
static method Extension3|method4<T extends dynamic = dynamic, S extends core::Object* = dynamic>(final self::Extension3|method4::T* #this) → dynamic
|
||||
static method Extension3|method4<T extends dynamic = dynamic, S extends core::Object* = dynamic>(lowered final self::Extension3|method4::T* #this) → dynamic
|
||||
;
|
||||
static method Extension3|get#method4<T extends dynamic = dynamic>(final self::Extension3|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension3|get#method4<T extends dynamic = dynamic>(lowered final self::Extension3|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension3|method4<self::Extension3|get#method4::T%, S*>(#this);
|
||||
static method Extension4|method1<T extends core::Object* = dynamic, S extends core::Object* = core::Object*>(final self::Extension4|method1::T* #this) → dynamic
|
||||
static method Extension4|method1<T extends core::Object* = dynamic, S extends core::Object* = core::Object*>(lowered final self::Extension4|method1::T* #this) → dynamic
|
||||
;
|
||||
static method Extension4|get#method1<T extends core::Object* = dynamic>(final self::Extension4|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension4|get#method1<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension4|method1<self::Extension4|get#method1::T*, S*>(#this);
|
||||
static method Extension4|method2<T extends core::Object* = dynamic, S extends core::String* = core::String*>(final self::Extension4|method2::T* #this) → dynamic
|
||||
static method Extension4|method2<T extends core::Object* = dynamic, S extends core::String* = core::String*>(lowered final self::Extension4|method2::T* #this) → dynamic
|
||||
;
|
||||
static method Extension4|get#method2<T extends core::Object* = dynamic>(final self::Extension4|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension4|get#method2<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension4|method2<self::Extension4|get#method2::T*, S*>(#this);
|
||||
static method Extension4|method3<T extends core::Object* = dynamic, S extends dynamic = dynamic>(final self::Extension4|method3::T* #this) → dynamic
|
||||
static method Extension4|method3<T extends core::Object* = dynamic, S extends dynamic = dynamic>(lowered final self::Extension4|method3::T* #this) → dynamic
|
||||
;
|
||||
static method Extension4|get#method3<T extends core::Object* = dynamic>(final self::Extension4|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension4|get#method3<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension4|method3<self::Extension4|get#method3::T*, S%>(#this);
|
||||
static method Extension4|method4<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(final self::Extension4|method4::T* #this) → dynamic
|
||||
static method Extension4|method4<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(lowered final self::Extension4|method4::T* #this) → dynamic
|
||||
;
|
||||
static method Extension4|get#method4<T extends core::Object* = dynamic>(final self::Extension4|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension4|get#method4<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension4|method4<self::Extension4|get#method4::T*, S*>(#this);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -42,52 +42,52 @@ extension Extension4<T extends core::Object* = dynamic> on T* {
|
||||
method method4 = self::Extension4|method4;
|
||||
tearoff method4 = self::Extension4|get#method4;
|
||||
}
|
||||
static method Extension1|method1<T extends core::Object* = core::Object*, S extends core::Object* = core::Object*>(final self::Extension1|method1::T* #this) → dynamic {}
|
||||
static method Extension1|get#method1<T extends core::Object* = core::Object*>(final self::Extension1|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension1|method1<T extends core::Object* = core::Object*, S extends core::Object* = core::Object*>(lowered final self::Extension1|method1::T* #this) → dynamic {}
|
||||
static method Extension1|get#method1<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension1|method1<self::Extension1|get#method1::T*, S*>(#this);
|
||||
static method Extension1|method2<T extends core::Object* = core::Object*, S extends core::String* = core::String*>(final self::Extension1|method2::T* #this) → dynamic {}
|
||||
static method Extension1|get#method2<T extends core::Object* = core::Object*>(final self::Extension1|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension1|method2<T extends core::Object* = core::Object*, S extends core::String* = core::String*>(lowered final self::Extension1|method2::T* #this) → dynamic {}
|
||||
static method Extension1|get#method2<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension1|method2<self::Extension1|get#method2::T*, S*>(#this);
|
||||
static method Extension1|method3<T extends core::Object* = core::Object*, S extends dynamic = dynamic>(final self::Extension1|method3::T* #this) → dynamic {}
|
||||
static method Extension1|get#method3<T extends core::Object* = core::Object*>(final self::Extension1|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension1|method3<T extends core::Object* = core::Object*, S extends dynamic = dynamic>(lowered final self::Extension1|method3::T* #this) → dynamic {}
|
||||
static method Extension1|get#method3<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension1|method3<self::Extension1|get#method3::T*, S%>(#this);
|
||||
static method Extension1|method4<T extends core::Object* = core::Object*, S extends core::Object* = dynamic>(final self::Extension1|method4::T* #this) → dynamic {}
|
||||
static method Extension1|get#method4<T extends core::Object* = core::Object*>(final self::Extension1|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension1|method4<T extends core::Object* = core::Object*, S extends core::Object* = dynamic>(lowered final self::Extension1|method4::T* #this) → dynamic {}
|
||||
static method Extension1|get#method4<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension1|method4<self::Extension1|get#method4::T*, S*>(#this);
|
||||
static method Extension2|method1<T extends core::String* = core::String*, S extends core::Object* = core::Object*>(final self::Extension2|method1::T* #this) → dynamic {}
|
||||
static method Extension2|get#method1<T extends core::String* = core::String*>(final self::Extension2|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension2|method1<T extends core::String* = core::String*, S extends core::Object* = core::Object*>(lowered final self::Extension2|method1::T* #this) → dynamic {}
|
||||
static method Extension2|get#method1<T extends core::String* = core::String*>(lowered final self::Extension2|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension2|method1<self::Extension2|get#method1::T*, S*>(#this);
|
||||
static method Extension2|method2<T extends core::String* = core::String*, S extends core::String* = core::String*>(final self::Extension2|method2::T* #this) → dynamic {}
|
||||
static method Extension2|get#method2<T extends core::String* = core::String*>(final self::Extension2|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension2|method2<T extends core::String* = core::String*, S extends core::String* = core::String*>(lowered final self::Extension2|method2::T* #this) → dynamic {}
|
||||
static method Extension2|get#method2<T extends core::String* = core::String*>(lowered final self::Extension2|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension2|method2<self::Extension2|get#method2::T*, S*>(#this);
|
||||
static method Extension2|method3<T extends core::String* = core::String*, S extends dynamic = dynamic>(final self::Extension2|method3::T* #this) → dynamic {}
|
||||
static method Extension2|get#method3<T extends core::String* = core::String*>(final self::Extension2|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension2|method3<T extends core::String* = core::String*, S extends dynamic = dynamic>(lowered final self::Extension2|method3::T* #this) → dynamic {}
|
||||
static method Extension2|get#method3<T extends core::String* = core::String*>(lowered final self::Extension2|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension2|method3<self::Extension2|get#method3::T*, S%>(#this);
|
||||
static method Extension2|method4<T extends core::String* = core::String*, S extends core::Object* = dynamic>(final self::Extension2|method4::T* #this) → dynamic {}
|
||||
static method Extension2|get#method4<T extends core::String* = core::String*>(final self::Extension2|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension2|method4<T extends core::String* = core::String*, S extends core::Object* = dynamic>(lowered final self::Extension2|method4::T* #this) → dynamic {}
|
||||
static method Extension2|get#method4<T extends core::String* = core::String*>(lowered final self::Extension2|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension2|method4<self::Extension2|get#method4::T*, S*>(#this);
|
||||
static method Extension3|method1<T extends dynamic = dynamic, S extends core::Object* = core::Object*>(final self::Extension3|method1::T* #this) → dynamic {}
|
||||
static method Extension3|get#method1<T extends dynamic = dynamic>(final self::Extension3|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension3|method1<T extends dynamic = dynamic, S extends core::Object* = core::Object*>(lowered final self::Extension3|method1::T* #this) → dynamic {}
|
||||
static method Extension3|get#method1<T extends dynamic = dynamic>(lowered final self::Extension3|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension3|method1<self::Extension3|get#method1::T%, S*>(#this);
|
||||
static method Extension3|method2<T extends dynamic = dynamic, S extends core::String* = core::String*>(final self::Extension3|method2::T* #this) → dynamic {}
|
||||
static method Extension3|get#method2<T extends dynamic = dynamic>(final self::Extension3|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension3|method2<T extends dynamic = dynamic, S extends core::String* = core::String*>(lowered final self::Extension3|method2::T* #this) → dynamic {}
|
||||
static method Extension3|get#method2<T extends dynamic = dynamic>(lowered final self::Extension3|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension3|method2<self::Extension3|get#method2::T%, S*>(#this);
|
||||
static method Extension3|method3<T extends dynamic = dynamic, S extends dynamic = dynamic>(final self::Extension3|method3::T* #this) → dynamic {}
|
||||
static method Extension3|get#method3<T extends dynamic = dynamic>(final self::Extension3|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension3|method3<T extends dynamic = dynamic, S extends dynamic = dynamic>(lowered final self::Extension3|method3::T* #this) → dynamic {}
|
||||
static method Extension3|get#method3<T extends dynamic = dynamic>(lowered final self::Extension3|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension3|method3<self::Extension3|get#method3::T%, S%>(#this);
|
||||
static method Extension3|method4<T extends dynamic = dynamic, S extends core::Object* = dynamic>(final self::Extension3|method4::T* #this) → dynamic {}
|
||||
static method Extension3|get#method4<T extends dynamic = dynamic>(final self::Extension3|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension3|method4<T extends dynamic = dynamic, S extends core::Object* = dynamic>(lowered final self::Extension3|method4::T* #this) → dynamic {}
|
||||
static method Extension3|get#method4<T extends dynamic = dynamic>(lowered final self::Extension3|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension3|method4<self::Extension3|get#method4::T%, S*>(#this);
|
||||
static method Extension4|method1<T extends core::Object* = dynamic, S extends core::Object* = core::Object*>(final self::Extension4|method1::T* #this) → dynamic {}
|
||||
static method Extension4|get#method1<T extends core::Object* = dynamic>(final self::Extension4|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension4|method1<T extends core::Object* = dynamic, S extends core::Object* = core::Object*>(lowered final self::Extension4|method1::T* #this) → dynamic {}
|
||||
static method Extension4|get#method1<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension4|method1<self::Extension4|get#method1::T*, S*>(#this);
|
||||
static method Extension4|method2<T extends core::Object* = dynamic, S extends core::String* = core::String*>(final self::Extension4|method2::T* #this) → dynamic {}
|
||||
static method Extension4|get#method2<T extends core::Object* = dynamic>(final self::Extension4|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension4|method2<T extends core::Object* = dynamic, S extends core::String* = core::String*>(lowered final self::Extension4|method2::T* #this) → dynamic {}
|
||||
static method Extension4|get#method2<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension4|method2<self::Extension4|get#method2::T*, S*>(#this);
|
||||
static method Extension4|method3<T extends core::Object* = dynamic, S extends dynamic = dynamic>(final self::Extension4|method3::T* #this) → dynamic {}
|
||||
static method Extension4|get#method3<T extends core::Object* = dynamic>(final self::Extension4|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension4|method3<T extends core::Object* = dynamic, S extends dynamic = dynamic>(lowered final self::Extension4|method3::T* #this) → dynamic {}
|
||||
static method Extension4|get#method3<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension4|method3<self::Extension4|get#method3::T*, S%>(#this);
|
||||
static method Extension4|method4<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(final self::Extension4|method4::T* #this) → dynamic {}
|
||||
static method Extension4|get#method4<T extends core::Object* = dynamic>(final self::Extension4|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension4|method4<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(lowered final self::Extension4|method4::T* #this) → dynamic {}
|
||||
static method Extension4|get#method4<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension4|method4<self::Extension4|get#method4::T*, S*>(#this);
|
||||
static method main() → dynamic {}
|
||||
|
||||
@@ -42,52 +42,52 @@ extension Extension4<T extends core::Object* = dynamic> on T* {
|
||||
method method4 = self::Extension4|method4;
|
||||
tearoff method4 = self::Extension4|get#method4;
|
||||
}
|
||||
static method Extension1|method1<T extends core::Object* = core::Object*, S extends core::Object* = core::Object*>(final self::Extension1|method1::T* #this) → dynamic {}
|
||||
static method Extension1|get#method1<T extends core::Object* = core::Object*>(final self::Extension1|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension1|method1<T extends core::Object* = core::Object*, S extends core::Object* = core::Object*>(lowered final self::Extension1|method1::T* #this) → dynamic {}
|
||||
static method Extension1|get#method1<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension1|method1<self::Extension1|get#method1::T*, S*>(#this);
|
||||
static method Extension1|method2<T extends core::Object* = core::Object*, S extends core::String* = core::String*>(final self::Extension1|method2::T* #this) → dynamic {}
|
||||
static method Extension1|get#method2<T extends core::Object* = core::Object*>(final self::Extension1|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension1|method2<T extends core::Object* = core::Object*, S extends core::String* = core::String*>(lowered final self::Extension1|method2::T* #this) → dynamic {}
|
||||
static method Extension1|get#method2<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension1|method2<self::Extension1|get#method2::T*, S*>(#this);
|
||||
static method Extension1|method3<T extends core::Object* = core::Object*, S extends dynamic = dynamic>(final self::Extension1|method3::T* #this) → dynamic {}
|
||||
static method Extension1|get#method3<T extends core::Object* = core::Object*>(final self::Extension1|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension1|method3<T extends core::Object* = core::Object*, S extends dynamic = dynamic>(lowered final self::Extension1|method3::T* #this) → dynamic {}
|
||||
static method Extension1|get#method3<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension1|method3<self::Extension1|get#method3::T*, S%>(#this);
|
||||
static method Extension1|method4<T extends core::Object* = core::Object*, S extends core::Object* = dynamic>(final self::Extension1|method4::T* #this) → dynamic {}
|
||||
static method Extension1|get#method4<T extends core::Object* = core::Object*>(final self::Extension1|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension1|method4<T extends core::Object* = core::Object*, S extends core::Object* = dynamic>(lowered final self::Extension1|method4::T* #this) → dynamic {}
|
||||
static method Extension1|get#method4<T extends core::Object* = core::Object*>(lowered final self::Extension1|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension1|method4<self::Extension1|get#method4::T*, S*>(#this);
|
||||
static method Extension2|method1<T extends core::String* = core::String*, S extends core::Object* = core::Object*>(final self::Extension2|method1::T* #this) → dynamic {}
|
||||
static method Extension2|get#method1<T extends core::String* = core::String*>(final self::Extension2|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension2|method1<T extends core::String* = core::String*, S extends core::Object* = core::Object*>(lowered final self::Extension2|method1::T* #this) → dynamic {}
|
||||
static method Extension2|get#method1<T extends core::String* = core::String*>(lowered final self::Extension2|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension2|method1<self::Extension2|get#method1::T*, S*>(#this);
|
||||
static method Extension2|method2<T extends core::String* = core::String*, S extends core::String* = core::String*>(final self::Extension2|method2::T* #this) → dynamic {}
|
||||
static method Extension2|get#method2<T extends core::String* = core::String*>(final self::Extension2|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension2|method2<T extends core::String* = core::String*, S extends core::String* = core::String*>(lowered final self::Extension2|method2::T* #this) → dynamic {}
|
||||
static method Extension2|get#method2<T extends core::String* = core::String*>(lowered final self::Extension2|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension2|method2<self::Extension2|get#method2::T*, S*>(#this);
|
||||
static method Extension2|method3<T extends core::String* = core::String*, S extends dynamic = dynamic>(final self::Extension2|method3::T* #this) → dynamic {}
|
||||
static method Extension2|get#method3<T extends core::String* = core::String*>(final self::Extension2|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension2|method3<T extends core::String* = core::String*, S extends dynamic = dynamic>(lowered final self::Extension2|method3::T* #this) → dynamic {}
|
||||
static method Extension2|get#method3<T extends core::String* = core::String*>(lowered final self::Extension2|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension2|method3<self::Extension2|get#method3::T*, S%>(#this);
|
||||
static method Extension2|method4<T extends core::String* = core::String*, S extends core::Object* = dynamic>(final self::Extension2|method4::T* #this) → dynamic {}
|
||||
static method Extension2|get#method4<T extends core::String* = core::String*>(final self::Extension2|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension2|method4<T extends core::String* = core::String*, S extends core::Object* = dynamic>(lowered final self::Extension2|method4::T* #this) → dynamic {}
|
||||
static method Extension2|get#method4<T extends core::String* = core::String*>(lowered final self::Extension2|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension2|method4<self::Extension2|get#method4::T*, S*>(#this);
|
||||
static method Extension3|method1<T extends dynamic = dynamic, S extends core::Object* = core::Object*>(final self::Extension3|method1::T* #this) → dynamic {}
|
||||
static method Extension3|get#method1<T extends dynamic = dynamic>(final self::Extension3|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension3|method1<T extends dynamic = dynamic, S extends core::Object* = core::Object*>(lowered final self::Extension3|method1::T* #this) → dynamic {}
|
||||
static method Extension3|get#method1<T extends dynamic = dynamic>(lowered final self::Extension3|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension3|method1<self::Extension3|get#method1::T%, S*>(#this);
|
||||
static method Extension3|method2<T extends dynamic = dynamic, S extends core::String* = core::String*>(final self::Extension3|method2::T* #this) → dynamic {}
|
||||
static method Extension3|get#method2<T extends dynamic = dynamic>(final self::Extension3|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension3|method2<T extends dynamic = dynamic, S extends core::String* = core::String*>(lowered final self::Extension3|method2::T* #this) → dynamic {}
|
||||
static method Extension3|get#method2<T extends dynamic = dynamic>(lowered final self::Extension3|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension3|method2<self::Extension3|get#method2::T%, S*>(#this);
|
||||
static method Extension3|method3<T extends dynamic = dynamic, S extends dynamic = dynamic>(final self::Extension3|method3::T* #this) → dynamic {}
|
||||
static method Extension3|get#method3<T extends dynamic = dynamic>(final self::Extension3|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension3|method3<T extends dynamic = dynamic, S extends dynamic = dynamic>(lowered final self::Extension3|method3::T* #this) → dynamic {}
|
||||
static method Extension3|get#method3<T extends dynamic = dynamic>(lowered final self::Extension3|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension3|method3<self::Extension3|get#method3::T%, S%>(#this);
|
||||
static method Extension3|method4<T extends dynamic = dynamic, S extends core::Object* = dynamic>(final self::Extension3|method4::T* #this) → dynamic {}
|
||||
static method Extension3|get#method4<T extends dynamic = dynamic>(final self::Extension3|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension3|method4<T extends dynamic = dynamic, S extends core::Object* = dynamic>(lowered final self::Extension3|method4::T* #this) → dynamic {}
|
||||
static method Extension3|get#method4<T extends dynamic = dynamic>(lowered final self::Extension3|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension3|method4<self::Extension3|get#method4::T%, S*>(#this);
|
||||
static method Extension4|method1<T extends core::Object* = dynamic, S extends core::Object* = core::Object*>(final self::Extension4|method1::T* #this) → dynamic {}
|
||||
static method Extension4|get#method1<T extends core::Object* = dynamic>(final self::Extension4|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
static method Extension4|method1<T extends core::Object* = dynamic, S extends core::Object* = core::Object*>(lowered final self::Extension4|method1::T* #this) → dynamic {}
|
||||
static method Extension4|get#method1<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method1::T* #this) → <S extends core::Object* = core::Object*>() →* dynamic
|
||||
return <S extends core::Object* = core::Object*>() → dynamic => self::Extension4|method1<self::Extension4|get#method1::T*, S*>(#this);
|
||||
static method Extension4|method2<T extends core::Object* = dynamic, S extends core::String* = core::String*>(final self::Extension4|method2::T* #this) → dynamic {}
|
||||
static method Extension4|get#method2<T extends core::Object* = dynamic>(final self::Extension4|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
static method Extension4|method2<T extends core::Object* = dynamic, S extends core::String* = core::String*>(lowered final self::Extension4|method2::T* #this) → dynamic {}
|
||||
static method Extension4|get#method2<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method2::T* #this) → <S extends core::String* = core::String*>() →* dynamic
|
||||
return <S extends core::String* = core::String*>() → dynamic => self::Extension4|method2<self::Extension4|get#method2::T*, S*>(#this);
|
||||
static method Extension4|method3<T extends core::Object* = dynamic, S extends dynamic = dynamic>(final self::Extension4|method3::T* #this) → dynamic {}
|
||||
static method Extension4|get#method3<T extends core::Object* = dynamic>(final self::Extension4|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
static method Extension4|method3<T extends core::Object* = dynamic, S extends dynamic = dynamic>(lowered final self::Extension4|method3::T* #this) → dynamic {}
|
||||
static method Extension4|get#method3<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method3::T* #this) → <S extends dynamic = dynamic>() →* dynamic
|
||||
return <S extends dynamic = dynamic>() → dynamic => self::Extension4|method3<self::Extension4|get#method3::T*, S%>(#this);
|
||||
static method Extension4|method4<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(final self::Extension4|method4::T* #this) → dynamic {}
|
||||
static method Extension4|get#method4<T extends core::Object* = dynamic>(final self::Extension4|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
static method Extension4|method4<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(lowered final self::Extension4|method4::T* #this) → dynamic {}
|
||||
static method Extension4|get#method4<T extends core::Object* = dynamic>(lowered final self::Extension4|get#method4::T* #this) → <S extends core::Object* = dynamic>() →* dynamic
|
||||
return <S extends core::Object* = dynamic>() → dynamic => self::Extension4|method4<self::Extension4|get#method4::T*, S*>(#this);
|
||||
static method main() → dynamic {}
|
||||
|
||||
@@ -51,11 +51,11 @@ static field self::A* a;
|
||||
static field core::String* topLevel5;
|
||||
static field self::B* b;
|
||||
static field core::String* topLevel6;
|
||||
static method _extension#0|get#call(final core::int* #this) → core::String*
|
||||
static method _extension#0|get#call(lowered final core::int* #this) → core::String*
|
||||
;
|
||||
static method _extension#1|get#call(final core::num* #this) → core::String*
|
||||
static method _extension#1|get#call(lowered final core::num* #this) → core::String*
|
||||
;
|
||||
static method _extension#2|get#call(final core::String* #this) → () →* core::String*
|
||||
static method _extension#2|get#call(lowered final core::String* #this) → () →* core::String*
|
||||
;
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -166,11 +166,11 @@ static field core::String* topLevel6 = invalid-expression "pkg/front_end/testcas
|
||||
Try changing 'call' to a method or explicitly invoke 'call'.
|
||||
var topLevel6 = a(2, \"3\");
|
||||
^" as{TypeError,ForDynamic} core::String*;
|
||||
static method _extension#0|get#call(final core::int* #this) → core::String*
|
||||
static method _extension#0|get#call(lowered final core::int* #this) → core::String*
|
||||
return "My name is int";
|
||||
static method _extension#1|get#call(final core::num* #this) → core::String*
|
||||
static method _extension#1|get#call(lowered final core::num* #this) → core::String*
|
||||
return "My name is num";
|
||||
static method _extension#2|get#call(final core::String* #this) → () →* core::String*
|
||||
static method _extension#2|get#call(lowered final core::String* #this) → () →* core::String*
|
||||
return () → core::String* => "My name is String";
|
||||
static method main() → dynamic {
|
||||
self::_extension#2|get#call("").call();
|
||||
|
||||
@@ -73,13 +73,13 @@ static final field dynamic field26;
|
||||
static final field dynamic field27;
|
||||
static final field dynamic field28;
|
||||
static final field dynamic field29;
|
||||
static method Extension|method<T extends self::B* = self::B*>(final self::Class<self::Extension|method::T*>* #this) → dynamic
|
||||
static method Extension|method<T extends self::B* = self::B*>(lowered final self::Class<self::Extension|method::T*>* #this) → dynamic
|
||||
;
|
||||
static method Extension|get#method<T extends self::B* = self::B*>(final self::Class<self::Extension|get#method::T*>* #this) → () →* dynamic
|
||||
static method Extension|get#method<T extends self::B* = self::B*>(lowered final self::Class<self::Extension|get#method::T*>* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|method<self::Extension|get#method::T*>(#this);
|
||||
static method Extension|genericMethod<T extends self::B* = self::B*, S extends self::B* = self::B*>(final self::Class<self::Extension|genericMethod::T*>* #this, self::Extension|genericMethod::S* s) → dynamic
|
||||
static method Extension|genericMethod<T extends self::B* = self::B*, S extends self::B* = self::B*>(lowered final self::Class<self::Extension|genericMethod::T*>* #this, self::Extension|genericMethod::S* s) → dynamic
|
||||
;
|
||||
static method Extension|get#genericMethod<T extends self::B* = self::B*>(final self::Class<self::Extension|get#genericMethod::T*>* #this) → <S extends self::B* = self::B*>(S*) →* dynamic
|
||||
static method Extension|get#genericMethod<T extends self::B* = self::B*>(lowered final self::Class<self::Extension|get#genericMethod::T*>* #this) → <S extends self::B* = self::B*>(S*) →* dynamic
|
||||
return <S extends self::B* = self::B*>(S* s) → dynamic => self::Extension|genericMethod<self::Extension|get#genericMethod::T*, S*>(#this, s);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -885,11 +885,11 @@ static final field dynamic field26 = self::Extension|genericMethod<self::A*, sel
|
||||
static final field dynamic field27 = self::Extension|genericMethod<self::B*, self::A*>(self::classB, self::a);
|
||||
static final field dynamic field28 = self::Extension|genericMethod<self::B*, self::A*>(self::classB, self::a);
|
||||
static final field dynamic field29 = self::Extension|genericMethod<self::B*, self::B*>(self::classB, self::a as{TypeError} self::B*);
|
||||
static method Extension|method<T extends self::B* = self::B*>(final self::Class<self::Extension|method::T*>* #this) → dynamic {}
|
||||
static method Extension|get#method<T extends self::B* = self::B*>(final self::Class<self::Extension|get#method::T*>* #this) → () →* dynamic
|
||||
static method Extension|method<T extends self::B* = self::B*>(lowered final self::Class<self::Extension|method::T*>* #this) → dynamic {}
|
||||
static method Extension|get#method<T extends self::B* = self::B*>(lowered final self::Class<self::Extension|get#method::T*>* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|method<self::Extension|get#method::T*>(#this);
|
||||
static method Extension|genericMethod<T extends self::B* = self::B*, S extends self::B* = self::B*>(final self::Class<self::Extension|genericMethod::T*>* #this, self::Extension|genericMethod::S* s) → dynamic {}
|
||||
static method Extension|get#genericMethod<T extends self::B* = self::B*>(final self::Class<self::Extension|get#genericMethod::T*>* #this) → <S extends self::B* = self::B*>(S*) →* dynamic
|
||||
static method Extension|genericMethod<T extends self::B* = self::B*, S extends self::B* = self::B*>(lowered final self::Class<self::Extension|genericMethod::T*>* #this, self::Extension|genericMethod::S* s) → dynamic {}
|
||||
static method Extension|get#genericMethod<T extends self::B* = self::B*>(lowered final self::Class<self::Extension|get#genericMethod::T*>* #this) → <S extends self::B* = self::B*>(S*) →* dynamic
|
||||
return <S extends self::B* = self::B*>(S* s) → dynamic => self::Extension|genericMethod<self::Extension|get#genericMethod::T*, S*>(#this, s);
|
||||
static method main() → dynamic {}
|
||||
static method test() → dynamic {
|
||||
|
||||
@@ -885,11 +885,11 @@ static final field dynamic field26 = self::Extension|genericMethod<self::A*, sel
|
||||
static final field dynamic field27 = self::Extension|genericMethod<self::B*, self::A*>(self::classB, self::a);
|
||||
static final field dynamic field28 = self::Extension|genericMethod<self::B*, self::A*>(self::classB, self::a);
|
||||
static final field dynamic field29 = self::Extension|genericMethod<self::B*, self::B*>(self::classB, self::a as{TypeError} self::B*);
|
||||
static method Extension|method<T extends self::B* = self::B*>(final self::Class<self::Extension|method::T*>* #this) → dynamic {}
|
||||
static method Extension|get#method<T extends self::B* = self::B*>(final self::Class<self::Extension|get#method::T*>* #this) → () →* dynamic
|
||||
static method Extension|method<T extends self::B* = self::B*>(lowered final self::Class<self::Extension|method::T*>* #this) → dynamic {}
|
||||
static method Extension|get#method<T extends self::B* = self::B*>(lowered final self::Class<self::Extension|get#method::T*>* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|method<self::Extension|get#method::T*>(#this);
|
||||
static method Extension|genericMethod<T extends self::B* = self::B*, S extends self::B* = self::B*>(final self::Class<self::Extension|genericMethod::T*>* #this, self::Extension|genericMethod::S* s) → dynamic {}
|
||||
static method Extension|get#genericMethod<T extends self::B* = self::B*>(final self::Class<self::Extension|get#genericMethod::T*>* #this) → <S extends self::B* = self::B*>(S*) →* dynamic
|
||||
static method Extension|genericMethod<T extends self::B* = self::B*, S extends self::B* = self::B*>(lowered final self::Class<self::Extension|genericMethod::T*>* #this, self::Extension|genericMethod::S* s) → dynamic {}
|
||||
static method Extension|get#genericMethod<T extends self::B* = self::B*>(lowered final self::Class<self::Extension|get#genericMethod::T*>* #this) → <S extends self::B* = self::B*>(S*) →* dynamic
|
||||
return <S extends self::B* = self::B*>(S* s) → dynamic => self::Extension|genericMethod<self::Extension|get#genericMethod::T*, S*>(#this, s);
|
||||
static method main() → dynamic {}
|
||||
static method test() → dynamic {
|
||||
|
||||
@@ -66,25 +66,25 @@ extension IntClassExtension on self::IntClass* {
|
||||
tearoff testImplicitProperties = self::IntClassExtension|get#testImplicitProperties;
|
||||
set property = self::IntClassExtension|set#property;
|
||||
}
|
||||
static method NumberExtension|+(final self::Number* #this, core::Object* other) → self::Number*
|
||||
static method NumberExtension|+(lowered final self::Number* #this, core::Object* other) → self::Number*
|
||||
;
|
||||
static method NumberExtension|-(final self::Number* #this, core::Object* other) → self::Number*
|
||||
static method NumberExtension|-(lowered final self::Number* #this, core::Object* other) → self::Number*
|
||||
;
|
||||
static method ClassExtension|get#property(final self::Class* #this) → self::Number*
|
||||
static method ClassExtension|get#property(lowered final self::Class* #this) → self::Number*
|
||||
;
|
||||
static method ClassExtension|set#property(final self::Class* #this, self::Number* value) → void
|
||||
static method ClassExtension|set#property(lowered final self::Class* #this, self::Number* value) → void
|
||||
;
|
||||
static method ClassExtension|testImplicitProperties(final self::Class* #this) → dynamic
|
||||
static method ClassExtension|testImplicitProperties(lowered final self::Class* #this) → dynamic
|
||||
;
|
||||
static method ClassExtension|get#testImplicitProperties(final self::Class* #this) → () →* dynamic
|
||||
static method ClassExtension|get#testImplicitProperties(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::ClassExtension|testImplicitProperties(#this);
|
||||
static method IntClassExtension|get#property(final self::IntClass* #this) → core::int*
|
||||
static method IntClassExtension|get#property(lowered final self::IntClass* #this) → core::int*
|
||||
;
|
||||
static method IntClassExtension|set#property(final self::IntClass* #this, core::int* value) → void
|
||||
static method IntClassExtension|set#property(lowered final self::IntClass* #this, core::int* value) → void
|
||||
;
|
||||
static method IntClassExtension|testImplicitProperties(final self::IntClass* #this) → dynamic
|
||||
static method IntClassExtension|testImplicitProperties(lowered final self::IntClass* #this) → dynamic
|
||||
;
|
||||
static method IntClassExtension|get#testImplicitProperties(final self::IntClass* #this) → () →* dynamic
|
||||
static method IntClassExtension|get#testImplicitProperties(lowered final self::IntClass* #this) → () →* dynamic
|
||||
return () → dynamic => self::IntClassExtension|testImplicitProperties(#this);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -69,7 +69,7 @@ extension IntClassExtension on self::IntClass* {
|
||||
tearoff testImplicitProperties = self::IntClassExtension|get#testImplicitProperties;
|
||||
set property = self::IntClassExtension|set#property;
|
||||
}
|
||||
static method NumberExtension|+(final self::Number* #this, core::Object* other) → self::Number* {
|
||||
static method NumberExtension|+(lowered final self::Number* #this, core::Object* other) → self::Number* {
|
||||
if(other is core::int*) {
|
||||
return new self::Number::•(#this.{self::Number::value}.{core::num::+}(other{core::int*}));
|
||||
}
|
||||
@@ -81,7 +81,7 @@ static method NumberExtension|+(final self::Number* #this, core::Object* other)
|
||||
throw new core::ArgumentError::•("${other}");
|
||||
}
|
||||
}
|
||||
static method NumberExtension|-(final self::Number* #this, core::Object* other) → self::Number* {
|
||||
static method NumberExtension|-(lowered final self::Number* #this, core::Object* other) → self::Number* {
|
||||
if(other is core::int*) {
|
||||
return new self::Number::•(#this.{self::Number::value}.{core::num::-}(other{core::int*}));
|
||||
}
|
||||
@@ -93,12 +93,12 @@ static method NumberExtension|-(final self::Number* #this, core::Object* other)
|
||||
throw new core::ArgumentError::•("${other}");
|
||||
}
|
||||
}
|
||||
static method ClassExtension|get#property(final self::Class* #this) → self::Number*
|
||||
static method ClassExtension|get#property(lowered final self::Class* #this) → self::Number*
|
||||
return #this.{self::Class::field};
|
||||
static method ClassExtension|set#property(final self::Class* #this, self::Number* value) → void {
|
||||
static method ClassExtension|set#property(lowered final self::Class* #this, self::Number* value) → void {
|
||||
#this.{self::Class::field} = value;
|
||||
}
|
||||
static method ClassExtension|testImplicitProperties(final self::Class* #this) → dynamic {
|
||||
static method ClassExtension|testImplicitProperties(lowered final self::Class* #this) → dynamic {
|
||||
self::Number* n0 = new self::Number::•(0);
|
||||
self::Number* n1 = new self::Number::•(1);
|
||||
self::Number* n2 = new self::Number::•(2);
|
||||
@@ -133,14 +133,14 @@ static method ClassExtension|testImplicitProperties(final self::Class* #this)
|
||||
self::ClassExtension|set#property(#this, self::NumberExtension|-(self::ClassExtension|get#property(#this), 1));
|
||||
self::expect(n0, self::ClassExtension|get#property(#this));
|
||||
}
|
||||
static method ClassExtension|get#testImplicitProperties(final self::Class* #this) → () →* dynamic
|
||||
static method ClassExtension|get#testImplicitProperties(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::ClassExtension|testImplicitProperties(#this);
|
||||
static method IntClassExtension|get#property(final self::IntClass* #this) → core::int*
|
||||
static method IntClassExtension|get#property(lowered final self::IntClass* #this) → core::int*
|
||||
return #this.{self::IntClass::field};
|
||||
static method IntClassExtension|set#property(final self::IntClass* #this, core::int* value) → void {
|
||||
static method IntClassExtension|set#property(lowered final self::IntClass* #this, core::int* value) → void {
|
||||
#this.{self::IntClass::field} = value;
|
||||
}
|
||||
static method IntClassExtension|testImplicitProperties(final self::IntClass* #this) → dynamic {
|
||||
static method IntClassExtension|testImplicitProperties(lowered final self::IntClass* #this) → dynamic {
|
||||
core::int* n0 = 0;
|
||||
core::int* n1 = 1;
|
||||
core::int* n2 = 2;
|
||||
@@ -175,7 +175,7 @@ static method IntClassExtension|testImplicitProperties(final self::IntClass* #th
|
||||
self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(1));
|
||||
self::expect(n0, self::IntClassExtension|get#property(#this));
|
||||
}
|
||||
static method IntClassExtension|get#testImplicitProperties(final self::IntClass* #this) → () →* dynamic
|
||||
static method IntClassExtension|get#testImplicitProperties(lowered final self::IntClass* #this) → () →* dynamic
|
||||
return () → dynamic => self::IntClassExtension|testImplicitProperties(#this);
|
||||
static method main() → dynamic {
|
||||
self::testLocals();
|
||||
|
||||
@@ -69,7 +69,7 @@ extension IntClassExtension on self::IntClass* {
|
||||
tearoff testImplicitProperties = self::IntClassExtension|get#testImplicitProperties;
|
||||
set property = self::IntClassExtension|set#property;
|
||||
}
|
||||
static method NumberExtension|+(final self::Number* #this, core::Object* other) → self::Number* {
|
||||
static method NumberExtension|+(lowered final self::Number* #this, core::Object* other) → self::Number* {
|
||||
if(other is core::int*) {
|
||||
return new self::Number::•(#this.{self::Number::value}.{core::num::+}(other{core::int*}));
|
||||
}
|
||||
@@ -81,7 +81,7 @@ static method NumberExtension|+(final self::Number* #this, core::Object* other)
|
||||
throw new core::ArgumentError::•("${other}");
|
||||
}
|
||||
}
|
||||
static method NumberExtension|-(final self::Number* #this, core::Object* other) → self::Number* {
|
||||
static method NumberExtension|-(lowered final self::Number* #this, core::Object* other) → self::Number* {
|
||||
if(other is core::int*) {
|
||||
return new self::Number::•(#this.{self::Number::value}.{core::num::-}(other{core::int*}));
|
||||
}
|
||||
@@ -93,12 +93,12 @@ static method NumberExtension|-(final self::Number* #this, core::Object* other)
|
||||
throw new core::ArgumentError::•("${other}");
|
||||
}
|
||||
}
|
||||
static method ClassExtension|get#property(final self::Class* #this) → self::Number*
|
||||
static method ClassExtension|get#property(lowered final self::Class* #this) → self::Number*
|
||||
return #this.{self::Class::field};
|
||||
static method ClassExtension|set#property(final self::Class* #this, self::Number* value) → void {
|
||||
static method ClassExtension|set#property(lowered final self::Class* #this, self::Number* value) → void {
|
||||
#this.{self::Class::field} = value;
|
||||
}
|
||||
static method ClassExtension|testImplicitProperties(final self::Class* #this) → dynamic {
|
||||
static method ClassExtension|testImplicitProperties(lowered final self::Class* #this) → dynamic {
|
||||
self::Number* n0 = new self::Number::•(0);
|
||||
self::Number* n1 = new self::Number::•(1);
|
||||
self::Number* n2 = new self::Number::•(2);
|
||||
@@ -133,14 +133,14 @@ static method ClassExtension|testImplicitProperties(final self::Class* #this)
|
||||
self::ClassExtension|set#property(#this, self::NumberExtension|-(self::ClassExtension|get#property(#this), 1));
|
||||
self::expect(n0, self::ClassExtension|get#property(#this));
|
||||
}
|
||||
static method ClassExtension|get#testImplicitProperties(final self::Class* #this) → () →* dynamic
|
||||
static method ClassExtension|get#testImplicitProperties(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::ClassExtension|testImplicitProperties(#this);
|
||||
static method IntClassExtension|get#property(final self::IntClass* #this) → core::int*
|
||||
static method IntClassExtension|get#property(lowered final self::IntClass* #this) → core::int*
|
||||
return #this.{self::IntClass::field};
|
||||
static method IntClassExtension|set#property(final self::IntClass* #this, core::int* value) → void {
|
||||
static method IntClassExtension|set#property(lowered final self::IntClass* #this, core::int* value) → void {
|
||||
#this.{self::IntClass::field} = value;
|
||||
}
|
||||
static method IntClassExtension|testImplicitProperties(final self::IntClass* #this) → dynamic {
|
||||
static method IntClassExtension|testImplicitProperties(lowered final self::IntClass* #this) → dynamic {
|
||||
core::int* n0 = 0;
|
||||
core::int* n1 = 1;
|
||||
core::int* n2 = 2;
|
||||
@@ -175,7 +175,7 @@ static method IntClassExtension|testImplicitProperties(final self::IntClass* #th
|
||||
self::IntClassExtension|set#property(#this, self::IntClassExtension|get#property(#this).{core::num::-}(1));
|
||||
self::expect(n0, self::IntClassExtension|get#property(#this));
|
||||
}
|
||||
static method IntClassExtension|get#testImplicitProperties(final self::IntClass* #this) → () →* dynamic
|
||||
static method IntClassExtension|get#testImplicitProperties(lowered final self::IntClass* #this) → () →* dynamic
|
||||
return () → dynamic => self::IntClassExtension|testImplicitProperties(#this);
|
||||
static method main() → dynamic {
|
||||
self::testLocals();
|
||||
|
||||
@@ -33,15 +33,15 @@ extension Extension on core::String* {
|
||||
static method toString = self::Extension|toString;
|
||||
set hashCode = self::Extension|set#hashCode;
|
||||
}
|
||||
static method Extension|get#noSuchMethod(final core::String* #this) → core::int*
|
||||
static method Extension|get#noSuchMethod(lowered final core::String* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#hashCode(final core::String* #this, core::int* value) → void
|
||||
static method Extension|set#hashCode(lowered final core::String* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|runtimeType(final core::String* #this) → core::int*
|
||||
static method Extension|runtimeType(lowered final core::String* #this) → core::int*
|
||||
;
|
||||
static method Extension|get#runtimeType(final core::String* #this) → () →* core::int*
|
||||
static method Extension|get#runtimeType(lowered final core::String* #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension|runtimeType(#this);
|
||||
static method Extension|==(final core::String* #this, dynamic other) → dynamic
|
||||
static method Extension|==(lowered final core::String* #this, dynamic other) → dynamic
|
||||
;
|
||||
static method Extension|toString() → core::String*
|
||||
;
|
||||
|
||||
@@ -48,13 +48,13 @@ extension Extension on core::String* {
|
||||
static method toString = self::Extension|toString;
|
||||
set hashCode = self::Extension|set#hashCode;
|
||||
}
|
||||
static method Extension|get#noSuchMethod(final core::String* #this) → core::int*
|
||||
static method Extension|get#noSuchMethod(lowered final core::String* #this) → core::int*
|
||||
return 42;
|
||||
static method Extension|set#hashCode(final core::String* #this, core::int* value) → void {}
|
||||
static method Extension|runtimeType(final core::String* #this) → core::int* {}
|
||||
static method Extension|get#runtimeType(final core::String* #this) → () →* core::int*
|
||||
static method Extension|set#hashCode(lowered final core::String* #this, core::int* value) → void {}
|
||||
static method Extension|runtimeType(lowered final core::String* #this) → core::int* {}
|
||||
static method Extension|get#runtimeType(lowered final core::String* #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension|runtimeType(#this);
|
||||
static method Extension|==(final core::String* #this, dynamic other) → dynamic
|
||||
static method Extension|==(lowered final core::String* #this, dynamic other) → dynamic
|
||||
return false;
|
||||
static method Extension|toString() → core::String*
|
||||
return "Foo";
|
||||
|
||||
+5
-5
@@ -48,13 +48,13 @@ extension Extension on core::String* {
|
||||
static method toString = self::Extension|toString;
|
||||
set hashCode = self::Extension|set#hashCode;
|
||||
}
|
||||
static method Extension|get#noSuchMethod(final core::String* #this) → core::int*
|
||||
static method Extension|get#noSuchMethod(lowered final core::String* #this) → core::int*
|
||||
return 42;
|
||||
static method Extension|set#hashCode(final core::String* #this, core::int* value) → void {}
|
||||
static method Extension|runtimeType(final core::String* #this) → core::int* {}
|
||||
static method Extension|get#runtimeType(final core::String* #this) → () →* core::int*
|
||||
static method Extension|set#hashCode(lowered final core::String* #this, core::int* value) → void {}
|
||||
static method Extension|runtimeType(lowered final core::String* #this) → core::int* {}
|
||||
static method Extension|get#runtimeType(lowered final core::String* #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension|runtimeType(#this);
|
||||
static method Extension|==(final core::String* #this, dynamic other) → dynamic
|
||||
static method Extension|==(lowered final core::String* #this, dynamic other) → dynamic
|
||||
return false;
|
||||
static method Extension|toString() → core::String*
|
||||
return "Foo";
|
||||
|
||||
@@ -57,17 +57,17 @@ extension UniqueExtensionName on self::Class1* {
|
||||
method duplicateMethodName1 = self::UniqueExtensionName|duplicateMethodName1;
|
||||
tearoff duplicateMethodName1 = self::UniqueExtensionName|get#duplicateMethodName1;
|
||||
}
|
||||
static method DuplicateExtensionName|uniqueMethod1(final self::Class1* #this) → dynamic
|
||||
static method DuplicateExtensionName|uniqueMethod1(lowered final self::Class1* #this) → dynamic
|
||||
;
|
||||
static method DuplicateExtensionName|get#uniqueMethod1(final self::Class1* #this) → () →* dynamic
|
||||
static method DuplicateExtensionName|get#uniqueMethod1(lowered final self::Class1* #this) → () →* dynamic
|
||||
return () → dynamic => self::DuplicateExtensionName|uniqueMethod1(#this);
|
||||
static method DuplicateExtensionName|duplicateMethodName2(final self::Class1* #this) → dynamic
|
||||
static method DuplicateExtensionName|duplicateMethodName2(lowered final self::Class1* #this) → dynamic
|
||||
;
|
||||
static method DuplicateExtensionName|get#duplicateMethodName2(final self::Class1* #this) → () →* dynamic
|
||||
static method DuplicateExtensionName|get#duplicateMethodName2(lowered final self::Class1* #this) → () →* dynamic
|
||||
return () → dynamic => self::DuplicateExtensionName|duplicateMethodName2(#this);
|
||||
static method UniqueExtensionName|duplicateMethodName1(final self::Class1* #this) → dynamic
|
||||
static method UniqueExtensionName|duplicateMethodName1(lowered final self::Class1* #this) → dynamic
|
||||
;
|
||||
static method UniqueExtensionName|get#duplicateMethodName1(final self::Class1* #this) → () →* dynamic
|
||||
static method UniqueExtensionName|get#duplicateMethodName1(lowered final self::Class1* #this) → () →* dynamic
|
||||
return () → dynamic => self::UniqueExtensionName|duplicateMethodName1(#this);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -65,16 +65,16 @@ extension UniqueExtensionName on self::Class1* {
|
||||
method duplicateMethodName1 = self::UniqueExtensionName|duplicateMethodName1;
|
||||
tearoff duplicateMethodName1 = self::UniqueExtensionName|get#duplicateMethodName1;
|
||||
}
|
||||
static method DuplicateExtensionName|uniqueMethod1(final self::Class1* #this) → dynamic {}
|
||||
static method DuplicateExtensionName|get#uniqueMethod1(final self::Class1* #this) → () →* dynamic
|
||||
static method DuplicateExtensionName|uniqueMethod1(lowered final self::Class1* #this) → dynamic {}
|
||||
static method DuplicateExtensionName|get#uniqueMethod1(lowered final self::Class1* #this) → () →* dynamic
|
||||
return () → dynamic => self::DuplicateExtensionName|uniqueMethod1(#this);
|
||||
static method DuplicateExtensionName|duplicateMethodName2(final self::Class1* #this) → dynamic
|
||||
static method DuplicateExtensionName|duplicateMethodName2(lowered final self::Class1* #this) → dynamic
|
||||
return 1;
|
||||
static method DuplicateExtensionName|get#duplicateMethodName2(final self::Class1* #this) → () →* dynamic
|
||||
static method DuplicateExtensionName|get#duplicateMethodName2(lowered final self::Class1* #this) → () →* dynamic
|
||||
return () → dynamic => self::DuplicateExtensionName|duplicateMethodName2(#this);
|
||||
static method UniqueExtensionName|duplicateMethodName1(final self::Class1* #this) → dynamic
|
||||
static method UniqueExtensionName|duplicateMethodName1(lowered final self::Class1* #this) → dynamic
|
||||
return 1;
|
||||
static method UniqueExtensionName|get#duplicateMethodName1(final self::Class1* #this) → () →* dynamic
|
||||
static method UniqueExtensionName|get#duplicateMethodName1(lowered final self::Class1* #this) → () →* dynamic
|
||||
return () → dynamic => self::UniqueExtensionName|duplicateMethodName1(#this);
|
||||
static method main() → dynamic {
|
||||
self::Class1* c1 = new self::Class1::•();
|
||||
|
||||
@@ -65,16 +65,16 @@ extension UniqueExtensionName on self::Class1* {
|
||||
method duplicateMethodName1 = self::UniqueExtensionName|duplicateMethodName1;
|
||||
tearoff duplicateMethodName1 = self::UniqueExtensionName|get#duplicateMethodName1;
|
||||
}
|
||||
static method DuplicateExtensionName|uniqueMethod1(final self::Class1* #this) → dynamic {}
|
||||
static method DuplicateExtensionName|get#uniqueMethod1(final self::Class1* #this) → () →* dynamic
|
||||
static method DuplicateExtensionName|uniqueMethod1(lowered final self::Class1* #this) → dynamic {}
|
||||
static method DuplicateExtensionName|get#uniqueMethod1(lowered final self::Class1* #this) → () →* dynamic
|
||||
return () → dynamic => self::DuplicateExtensionName|uniqueMethod1(#this);
|
||||
static method DuplicateExtensionName|duplicateMethodName2(final self::Class1* #this) → dynamic
|
||||
static method DuplicateExtensionName|duplicateMethodName2(lowered final self::Class1* #this) → dynamic
|
||||
return 1;
|
||||
static method DuplicateExtensionName|get#duplicateMethodName2(final self::Class1* #this) → () →* dynamic
|
||||
static method DuplicateExtensionName|get#duplicateMethodName2(lowered final self::Class1* #this) → () →* dynamic
|
||||
return () → dynamic => self::DuplicateExtensionName|duplicateMethodName2(#this);
|
||||
static method UniqueExtensionName|duplicateMethodName1(final self::Class1* #this) → dynamic
|
||||
static method UniqueExtensionName|duplicateMethodName1(lowered final self::Class1* #this) → dynamic
|
||||
return 1;
|
||||
static method UniqueExtensionName|get#duplicateMethodName1(final self::Class1* #this) → () →* dynamic
|
||||
static method UniqueExtensionName|get#duplicateMethodName1(lowered final self::Class1* #this) → () →* dynamic
|
||||
return () → dynamic => self::UniqueExtensionName|duplicateMethodName1(#this);
|
||||
static method main() → dynamic {
|
||||
self::Class1* c1 = new self::Class1::•();
|
||||
|
||||
@@ -27,21 +27,21 @@ extension Extension on self::Class* {
|
||||
tearoff method3 = self::Extension|get#method3;
|
||||
static method staticMethod = self::Extension|staticMethod;
|
||||
}
|
||||
static method Extension|method0(final self::Class* #this, [dynamic a]) → dynamic
|
||||
static method Extension|method0(lowered final self::Class* #this, [dynamic a]) → dynamic
|
||||
;
|
||||
static method Extension|get#method0(final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
static method Extension|get#method0(lowered final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
return ([dynamic a]) → dynamic => self::Extension|method0(#this, a);
|
||||
static method Extension|method1(final self::Class* #this, [dynamic a]) → dynamic
|
||||
static method Extension|method1(lowered final self::Class* #this, [dynamic a]) → dynamic
|
||||
;
|
||||
static method Extension|get#method1(final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
static method Extension|get#method1(lowered final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
return ([dynamic a]) → dynamic => self::Extension|method1(#this, a);
|
||||
static method Extension|method2(final self::Class* #this, {dynamic b}) → dynamic
|
||||
static method Extension|method2(lowered final self::Class* #this, {dynamic b}) → dynamic
|
||||
;
|
||||
static method Extension|get#method2(final self::Class* #this) → ({b: dynamic}) →* dynamic
|
||||
static method Extension|get#method2(lowered final self::Class* #this) → ({b: dynamic}) →* dynamic
|
||||
return ({dynamic b}) → dynamic => self::Extension|method2(#this, b: b);
|
||||
static method Extension|method3(final self::Class* #this, {dynamic c}) → dynamic
|
||||
static method Extension|method3(lowered final self::Class* #this, {dynamic c}) → dynamic
|
||||
;
|
||||
static method Extension|get#method3(final self::Class* #this) → ({c: dynamic}) →* dynamic
|
||||
static method Extension|get#method3(lowered final self::Class* #this) → ({c: dynamic}) →* dynamic
|
||||
return ({dynamic c}) → dynamic => self::Extension|method3(#this, c: c);
|
||||
static method Extension|staticMethod() → dynamic
|
||||
;
|
||||
|
||||
@@ -28,21 +28,21 @@ extension Extension on self::Class* {
|
||||
tearoff method3 = self::Extension|get#method3;
|
||||
static method staticMethod = self::Extension|staticMethod;
|
||||
}
|
||||
static method Extension|method0(final self::Class* #this, [dynamic a = #C1]) → dynamic
|
||||
static method Extension|method0(lowered final self::Class* #this, [dynamic a = #C1]) → dynamic
|
||||
return a;
|
||||
static method Extension|get#method0(final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
static method Extension|get#method0(lowered final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
return ([dynamic a = #C1]) → dynamic => self::Extension|method0(#this, a);
|
||||
static method Extension|method1(final self::Class* #this, [dynamic a = #C2]) → dynamic
|
||||
static method Extension|method1(lowered final self::Class* #this, [dynamic a = #C2]) → dynamic
|
||||
return a;
|
||||
static method Extension|get#method1(final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
static method Extension|get#method1(lowered final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
return ([dynamic a = #C2]) → dynamic => self::Extension|method1(#this, a);
|
||||
static method Extension|method2(final self::Class* #this, {dynamic b = #C3}) → dynamic
|
||||
static method Extension|method2(lowered final self::Class* #this, {dynamic b = #C3}) → dynamic
|
||||
return b;
|
||||
static method Extension|get#method2(final self::Class* #this) → ({b: dynamic}) →* dynamic
|
||||
static method Extension|get#method2(lowered final self::Class* #this) → ({b: dynamic}) →* dynamic
|
||||
return ({dynamic b = #C3}) → dynamic => self::Extension|method2(#this, b: b);
|
||||
static method Extension|method3(final self::Class* #this, {dynamic c = #C4}) → dynamic
|
||||
static method Extension|method3(lowered final self::Class* #this, {dynamic c = #C4}) → dynamic
|
||||
return c.call();
|
||||
static method Extension|get#method3(final self::Class* #this) → ({c: dynamic}) →* dynamic
|
||||
static method Extension|get#method3(lowered final self::Class* #this) → ({c: dynamic}) →* dynamic
|
||||
return ({dynamic c = #C4}) → dynamic => self::Extension|method3(#this, c: c);
|
||||
static method Extension|staticMethod() → dynamic
|
||||
return 123;
|
||||
|
||||
@@ -28,21 +28,21 @@ extension Extension on self::Class* {
|
||||
tearoff method3 = self::Extension|get#method3;
|
||||
static method staticMethod = self::Extension|staticMethod;
|
||||
}
|
||||
static method Extension|method0(final self::Class* #this, [dynamic a = #C1]) → dynamic
|
||||
static method Extension|method0(lowered final self::Class* #this, [dynamic a = #C1]) → dynamic
|
||||
return a;
|
||||
static method Extension|get#method0(final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
static method Extension|get#method0(lowered final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
return ([dynamic a = #C1]) → dynamic => self::Extension|method0(#this, a);
|
||||
static method Extension|method1(final self::Class* #this, [dynamic a = #C2]) → dynamic
|
||||
static method Extension|method1(lowered final self::Class* #this, [dynamic a = #C2]) → dynamic
|
||||
return a;
|
||||
static method Extension|get#method1(final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
static method Extension|get#method1(lowered final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
return ([dynamic a = #C2]) → dynamic => self::Extension|method1(#this, a);
|
||||
static method Extension|method2(final self::Class* #this, {dynamic b = #C3}) → dynamic
|
||||
static method Extension|method2(lowered final self::Class* #this, {dynamic b = #C3}) → dynamic
|
||||
return b;
|
||||
static method Extension|get#method2(final self::Class* #this) → ({b: dynamic}) →* dynamic
|
||||
static method Extension|get#method2(lowered final self::Class* #this) → ({b: dynamic}) →* dynamic
|
||||
return ({dynamic b = #C3}) → dynamic => self::Extension|method2(#this, b: b);
|
||||
static method Extension|method3(final self::Class* #this, {dynamic c = #C4}) → dynamic
|
||||
static method Extension|method3(lowered final self::Class* #this, {dynamic c = #C4}) → dynamic
|
||||
return c.call();
|
||||
static method Extension|get#method3(final self::Class* #this) → ({c: dynamic}) →* dynamic
|
||||
static method Extension|get#method3(lowered final self::Class* #this) → ({c: dynamic}) →* dynamic
|
||||
return ({dynamic c = #C4}) → dynamic => self::Extension|method3(#this, c: c);
|
||||
static method Extension|staticMethod() → dynamic
|
||||
return 123;
|
||||
|
||||
@@ -38,13 +38,13 @@ static set Extension|staticProperty(core::int* value) → void
|
||||
;
|
||||
static method Extension|staticMethod() → core::int*
|
||||
;
|
||||
static method Extension|get#property(final core::int* #this) → core::int*
|
||||
static method Extension|get#property(lowered final core::int* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#property(final core::int* #this, core::int* value) → void
|
||||
static method Extension|set#property(lowered final core::int* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|method(final core::int* #this) → core::int*
|
||||
static method Extension|method(lowered final core::int* #this) → core::int*
|
||||
;
|
||||
static method Extension|get#method(final core::int* #this) → () →* core::int*
|
||||
static method Extension|get#method(lowered final core::int* #this) → () →* core::int*
|
||||
return () → core::int* => self2::Extension|method(#this);
|
||||
static get topLevelProperty() → core::int*
|
||||
;
|
||||
|
||||
@@ -52,14 +52,14 @@ static set Extension|staticProperty(core::int* value) → void {
|
||||
}
|
||||
static method Extension|staticMethod() → core::int*
|
||||
return def::Extension|staticField;
|
||||
static method Extension|get#property(final core::int* #this) → core::int*
|
||||
static method Extension|get#property(lowered final core::int* #this) → core::int*
|
||||
return #this.{core::num::+}(def::Extension|staticField);
|
||||
static method Extension|set#property(final core::int* #this, core::int* value) → void {
|
||||
static method Extension|set#property(lowered final core::int* #this, core::int* value) → void {
|
||||
def::Extension|staticField = value;
|
||||
}
|
||||
static method Extension|method(final core::int* #this) → core::int*
|
||||
static method Extension|method(lowered final core::int* #this) → core::int*
|
||||
return #this.{core::num::+}(def::Extension|staticField);
|
||||
static method Extension|get#method(final core::int* #this) → () →* core::int*
|
||||
static method Extension|get#method(lowered final core::int* #this) → () →* core::int*
|
||||
return () → core::int* => def::Extension|method(#this);
|
||||
static get topLevelProperty() → core::int*
|
||||
return def::Extension|staticField;
|
||||
|
||||
+4
-4
@@ -78,14 +78,14 @@ static set Extension|staticProperty(core::int* value) → void {
|
||||
}
|
||||
static method Extension|staticMethod() → core::int*
|
||||
return def::Extension|staticField;
|
||||
static method Extension|get#property(final core::int* #this) → core::int*
|
||||
static method Extension|get#property(lowered final core::int* #this) → core::int*
|
||||
return #this.{core::num::+}(def::Extension|staticField);
|
||||
static method Extension|set#property(final core::int* #this, core::int* value) → void {
|
||||
static method Extension|set#property(lowered final core::int* #this, core::int* value) → void {
|
||||
def::Extension|staticField = value;
|
||||
}
|
||||
static method Extension|method(final core::int* #this) → core::int*
|
||||
static method Extension|method(lowered final core::int* #this) → core::int*
|
||||
return #this.{core::num::+}(def::Extension|staticField);
|
||||
static method Extension|get#method(final core::int* #this) → () →* core::int*
|
||||
static method Extension|get#method(lowered final core::int* #this) → () →* core::int*
|
||||
return () → core::int* => def::Extension|method(#this);
|
||||
static get topLevelProperty() → core::int*
|
||||
return def::Extension|staticField;
|
||||
|
||||
@@ -30,13 +30,13 @@ static set Extension|staticProperty(core::int* value) → void
|
||||
;
|
||||
static method Extension|staticMethod() → core::int*
|
||||
;
|
||||
static method Extension|get#property(final core::int* #this) → core::int*
|
||||
static method Extension|get#property(lowered final core::int* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#property(final core::int* #this, core::int* value) → void
|
||||
static method Extension|set#property(lowered final core::int* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|method(final core::int* #this) → core::int*
|
||||
static method Extension|method(lowered final core::int* #this) → core::int*
|
||||
;
|
||||
static method Extension|get#method(final core::int* #this) → () →* core::int*
|
||||
static method Extension|get#method(lowered final core::int* #this) → () →* core::int*
|
||||
return () → core::int* => self2::Extension|method(#this);
|
||||
static get topLevelProperty() → core::int*
|
||||
;
|
||||
|
||||
@@ -43,14 +43,14 @@ static set Extension|staticProperty(core::int* value) → void {
|
||||
}
|
||||
static method Extension|staticMethod() → core::int*
|
||||
return def::Extension|staticField;
|
||||
static method Extension|get#property(final core::int* #this) → core::int*
|
||||
static method Extension|get#property(lowered final core::int* #this) → core::int*
|
||||
return #this.{core::num::+}(def::Extension|staticField);
|
||||
static method Extension|set#property(final core::int* #this, core::int* value) → void {
|
||||
static method Extension|set#property(lowered final core::int* #this, core::int* value) → void {
|
||||
def::Extension|staticField = value;
|
||||
}
|
||||
static method Extension|method(final core::int* #this) → core::int*
|
||||
static method Extension|method(lowered final core::int* #this) → core::int*
|
||||
return #this.{core::num::+}(def::Extension|staticField);
|
||||
static method Extension|get#method(final core::int* #this) → () →* core::int*
|
||||
static method Extension|get#method(lowered final core::int* #this) → () →* core::int*
|
||||
return () → core::int* => def::Extension|method(#this);
|
||||
static get topLevelProperty() → core::int*
|
||||
return def::Extension|staticField;
|
||||
|
||||
+4
-4
@@ -69,14 +69,14 @@ static set Extension|staticProperty(core::int* value) → void {
|
||||
}
|
||||
static method Extension|staticMethod() → core::int*
|
||||
return def::Extension|staticField;
|
||||
static method Extension|get#property(final core::int* #this) → core::int*
|
||||
static method Extension|get#property(lowered final core::int* #this) → core::int*
|
||||
return #this.{core::num::+}(def::Extension|staticField);
|
||||
static method Extension|set#property(final core::int* #this, core::int* value) → void {
|
||||
static method Extension|set#property(lowered final core::int* #this, core::int* value) → void {
|
||||
def::Extension|staticField = value;
|
||||
}
|
||||
static method Extension|method(final core::int* #this) → core::int*
|
||||
static method Extension|method(lowered final core::int* #this) → core::int*
|
||||
return #this.{core::num::+}(def::Extension|staticField);
|
||||
static method Extension|get#method(final core::int* #this) → () →* core::int*
|
||||
static method Extension|get#method(lowered final core::int* #this) → () →* core::int*
|
||||
return () → core::int* => def::Extension|method(#this);
|
||||
static get topLevelProperty() → core::int*
|
||||
return def::Extension|staticField;
|
||||
|
||||
@@ -85,103 +85,103 @@ extension GenericExtension<T extends core::Object* = dynamic> on self::GenericCl
|
||||
tearoff getterCalls = self::GenericExtension|get#getterCalls;
|
||||
set property = self::GenericExtension|set#property;
|
||||
}
|
||||
static method Extension|get#readGetter(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|get#readGetter(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|readGetter(#this);
|
||||
static method Extension|readGetter(final self::Class* #this) → dynamic
|
||||
static method Extension|readGetter(lowered final self::Class* #this) → dynamic
|
||||
;
|
||||
static method Extension|writeSetterRequired(final self::Class* #this, dynamic value) → dynamic
|
||||
static method Extension|writeSetterRequired(lowered final self::Class* #this, dynamic value) → dynamic
|
||||
;
|
||||
static method Extension|get#writeSetterRequired(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#writeSetterRequired(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|writeSetterRequired(#this, value);
|
||||
static method Extension|writeSetterOptional(final self::Class* #this, [dynamic value]) → dynamic
|
||||
static method Extension|writeSetterOptional(lowered final self::Class* #this, [dynamic value]) → dynamic
|
||||
;
|
||||
static method Extension|get#writeSetterOptional(final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
static method Extension|get#writeSetterOptional(lowered final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
return ([dynamic value]) → dynamic => self::Extension|writeSetterOptional(#this, value);
|
||||
static method Extension|writeSetterNamed(final self::Class* #this, {dynamic value}) → dynamic
|
||||
static method Extension|writeSetterNamed(lowered final self::Class* #this, {dynamic value}) → dynamic
|
||||
;
|
||||
static method Extension|get#writeSetterNamed(final self::Class* #this) → ({value: dynamic}) →* dynamic
|
||||
static method Extension|get#writeSetterNamed(lowered final self::Class* #this) → ({value: dynamic}) →* dynamic
|
||||
return ({dynamic value}) → dynamic => self::Extension|writeSetterNamed(#this, value: value);
|
||||
static method Extension|get#tearOffGetterNoArgs(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterNoArgs(lowered final self::Class* #this) → dynamic
|
||||
;
|
||||
static method Extension|get#tearOffGetterRequired(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterRequired(lowered final self::Class* #this) → dynamic
|
||||
;
|
||||
static method Extension|get#tearOffGetterOptional(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterOptional(lowered final self::Class* #this) → dynamic
|
||||
;
|
||||
static method Extension|get#tearOffGetterNamed(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterNamed(lowered final self::Class* #this) → dynamic
|
||||
;
|
||||
static method Extension|get#property(final self::Class* #this) → dynamic
|
||||
static method Extension|get#property(lowered final self::Class* #this) → dynamic
|
||||
;
|
||||
static method Extension|set#property(final self::Class* #this, dynamic value) → void
|
||||
static method Extension|set#property(lowered final self::Class* #this, dynamic value) → void
|
||||
;
|
||||
static method Extension|invocations(final self::Class* #this, dynamic value) → dynamic
|
||||
static method Extension|invocations(lowered final self::Class* #this, dynamic value) → dynamic
|
||||
;
|
||||
static method Extension|get#invocations(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#invocations(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|invocations(#this, value);
|
||||
static method Extension|get#tearOffs(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#tearOffs(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|tearOffs(#this, value);
|
||||
static method Extension|tearOffs(final self::Class* #this, dynamic value) → dynamic
|
||||
static method Extension|tearOffs(lowered final self::Class* #this, dynamic value) → dynamic
|
||||
;
|
||||
static method Extension|getterCalls(final self::Class* #this, dynamic value) → dynamic
|
||||
static method Extension|getterCalls(lowered final self::Class* #this, dynamic value) → dynamic
|
||||
;
|
||||
static method Extension|get#getterCalls(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#getterCalls(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|getterCalls(#this, value);
|
||||
static method GenericExtension|readGetter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|readGetter::T*>* #this) → self::GenericExtension|readGetter::T*
|
||||
static method GenericExtension|readGetter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|readGetter::T*>* #this) → self::GenericExtension|readGetter::T*
|
||||
;
|
||||
static method GenericExtension|get#readGetter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#readGetter::T*>* #this) → () →* self::GenericExtension|get#readGetter::T*
|
||||
static method GenericExtension|get#readGetter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#readGetter::T*>* #this) → () →* self::GenericExtension|get#readGetter::T*
|
||||
return () → self::GenericExtension|get#readGetter::T* => self::GenericExtension|readGetter<self::GenericExtension|get#readGetter::T*>(#this);
|
||||
static method GenericExtension|writeSetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|writeSetterRequired::T*>* #this, self::GenericExtension|writeSetterRequired::T* value) → dynamic
|
||||
static method GenericExtension|writeSetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|writeSetterRequired::T*>* #this, self::GenericExtension|writeSetterRequired::T* value) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#writeSetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#writeSetterRequired::T*>* #this) → (self::GenericExtension|get#writeSetterRequired::T*) →* dynamic
|
||||
static method GenericExtension|get#writeSetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#writeSetterRequired::T*>* #this) → (self::GenericExtension|get#writeSetterRequired::T*) →* dynamic
|
||||
return (self::GenericExtension|get#writeSetterRequired::T* value) → dynamic => self::GenericExtension|writeSetterRequired<self::GenericExtension|get#writeSetterRequired::T*>(#this, value);
|
||||
static method GenericExtension|writeSetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|writeSetterOptional::T*>* #this, [self::GenericExtension|writeSetterOptional::T* value]) → dynamic
|
||||
static method GenericExtension|writeSetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|writeSetterOptional::T*>* #this, [self::GenericExtension|writeSetterOptional::T* value]) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#writeSetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#writeSetterOptional::T*>* #this) → ([self::GenericExtension|get#writeSetterOptional::T*]) →* dynamic
|
||||
static method GenericExtension|get#writeSetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#writeSetterOptional::T*>* #this) → ([self::GenericExtension|get#writeSetterOptional::T*]) →* dynamic
|
||||
return ([self::GenericExtension|get#writeSetterOptional::T* value]) → dynamic => self::GenericExtension|writeSetterOptional<self::GenericExtension|get#writeSetterOptional::T*>(#this, value);
|
||||
static method GenericExtension|writeSetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|writeSetterNamed::T*>* #this, {self::GenericExtension|writeSetterNamed::T* value}) → dynamic
|
||||
static method GenericExtension|writeSetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|writeSetterNamed::T*>* #this, {self::GenericExtension|writeSetterNamed::T* value}) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#writeSetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#writeSetterNamed::T*>* #this) → ({value: self::GenericExtension|get#writeSetterNamed::T*}) →* dynamic
|
||||
static method GenericExtension|get#writeSetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#writeSetterNamed::T*>* #this) → ({value: self::GenericExtension|get#writeSetterNamed::T*}) →* dynamic
|
||||
return ({self::GenericExtension|get#writeSetterNamed::T* value}) → dynamic => self::GenericExtension|writeSetterNamed<self::GenericExtension|get#writeSetterNamed::T*>(#this, value: value);
|
||||
static method GenericExtension|genericWriteSetterRequired<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterRequired::T* = dynamic>(final self::GenericClass<self::GenericExtension|genericWriteSetterRequired::T*>* #this, self::GenericExtension|genericWriteSetterRequired::S* value) → dynamic
|
||||
static method GenericExtension|genericWriteSetterRequired<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterRequired::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericWriteSetterRequired::T*>* #this, self::GenericExtension|genericWriteSetterRequired::S* value) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#genericWriteSetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericWriteSetterRequired::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterRequired::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#genericWriteSetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericWriteSetterRequired::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterRequired::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#genericWriteSetterRequired::T* = dynamic>(S* value) → dynamic => self::GenericExtension|genericWriteSetterRequired<self::GenericExtension|get#genericWriteSetterRequired::T*, S*>(#this, value);
|
||||
static method GenericExtension|genericWriteSetterOptional<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterOptional::T* = dynamic>(final self::GenericClass<self::GenericExtension|genericWriteSetterOptional::T*>* #this, [self::GenericExtension|genericWriteSetterOptional::S* value]) → dynamic
|
||||
static method GenericExtension|genericWriteSetterOptional<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterOptional::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericWriteSetterOptional::T*>* #this, [self::GenericExtension|genericWriteSetterOptional::S* value]) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#genericWriteSetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericWriteSetterOptional::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterOptional::T* = dynamic>([S*]) →* dynamic
|
||||
static method GenericExtension|get#genericWriteSetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericWriteSetterOptional::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterOptional::T* = dynamic>([S*]) →* dynamic
|
||||
return <S extends self::GenericExtension|get#genericWriteSetterOptional::T* = dynamic>([S* value]) → dynamic => self::GenericExtension|genericWriteSetterOptional<self::GenericExtension|get#genericWriteSetterOptional::T*, S*>(#this, value);
|
||||
static method GenericExtension|get#genericWriteSetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericWriteSetterNamed::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterNamed::T* = dynamic>({value: S*}) →* dynamic
|
||||
static method GenericExtension|get#genericWriteSetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericWriteSetterNamed::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterNamed::T* = dynamic>({value: S*}) →* dynamic
|
||||
return <S extends self::GenericExtension|get#genericWriteSetterNamed::T* = dynamic>({S* value}) → dynamic => self::GenericExtension|genericWriteSetterNamed<self::GenericExtension|get#genericWriteSetterNamed::T*, S*>(#this, value: value);
|
||||
static method GenericExtension|genericWriteSetterNamed<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterNamed::T* = dynamic>(final self::GenericClass<self::GenericExtension|genericWriteSetterNamed::T*>* #this, {self::GenericExtension|genericWriteSetterNamed::S* value}) → dynamic
|
||||
static method GenericExtension|genericWriteSetterNamed<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterNamed::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericWriteSetterNamed::T*>* #this, {self::GenericExtension|genericWriteSetterNamed::S* value}) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
;
|
||||
static method GenericExtension|set#property<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|set#property::T*>* #this, self::GenericExtension|set#property::T* value) → void
|
||||
static method GenericExtension|set#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#property::T*>* #this, self::GenericExtension|set#property::T* value) → void
|
||||
;
|
||||
static method GenericExtension|get#tearOffGetterNoArgs<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterNoArgs::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterNoArgs<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterNoArgs::T*>* #this) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#tearOffGetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterRequired::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterRequired::T*>* #this) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#tearOffGetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterOptional::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterOptional::T*>* #this) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#tearOffGetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterNamed::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterNamed::T*>* #this) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#tearOffGetterGenericRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericRequired::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterGenericRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericRequired::T*>* #this) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#tearOffGetterGenericOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericOptional::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterGenericOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericOptional::T*>* #this) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#tearOffGetterGenericNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericNamed::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterGenericNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericNamed::T*>* #this) → dynamic
|
||||
;
|
||||
static method GenericExtension|invocations<T extends core::Object* = dynamic, S extends self::GenericExtension|invocations::T* = dynamic>(final self::GenericClass<self::GenericExtension|invocations::T*>* #this, self::GenericExtension|invocations::S* value) → dynamic
|
||||
static method GenericExtension|invocations<T extends core::Object* = dynamic, S extends self::GenericExtension|invocations::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|invocations::T*>* #this, self::GenericExtension|invocations::S* value) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#invocations<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#invocations::T*>* #this) → <S extends self::GenericExtension|get#invocations::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#invocations<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#invocations::T*>* #this) → <S extends self::GenericExtension|get#invocations::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#invocations::T* = dynamic>(S* value) → dynamic => self::GenericExtension|invocations<self::GenericExtension|get#invocations::T*, S*>(#this, value);
|
||||
static method GenericExtension|tearOffs<T extends core::Object* = dynamic, S extends self::GenericExtension|tearOffs::T* = dynamic>(final self::GenericClass<self::GenericExtension|tearOffs::T*>* #this, self::GenericExtension|tearOffs::S* value) → dynamic
|
||||
static method GenericExtension|tearOffs<T extends core::Object* = dynamic, S extends self::GenericExtension|tearOffs::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|tearOffs::T*>* #this, self::GenericExtension|tearOffs::S* value) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#tearOffs<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffs::T*>* #this) → <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#tearOffs<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffs::T*>* #this) → <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S* value) → dynamic => self::GenericExtension|tearOffs<self::GenericExtension|get#tearOffs::T*, S*>(#this, value);
|
||||
static method GenericExtension|getterCalls<T extends core::Object* = dynamic, S extends self::GenericExtension|getterCalls::T* = dynamic>(final self::GenericClass<self::GenericExtension|getterCalls::T*>* #this, self::GenericExtension|getterCalls::S* value) → dynamic
|
||||
static method GenericExtension|getterCalls<T extends core::Object* = dynamic, S extends self::GenericExtension|getterCalls::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|getterCalls::T*>* #this, self::GenericExtension|getterCalls::S* value) → dynamic
|
||||
;
|
||||
static method GenericExtension|get#getterCalls<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#getterCalls::T*>* #this) → <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#getterCalls<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#getterCalls::T*>* #this) → <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S* value) → dynamic => self::GenericExtension|getterCalls<self::GenericExtension|get#getterCalls::T*, S*>(#this, value);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -87,40 +87,40 @@ extension GenericExtension<T extends core::Object* = dynamic> on self::GenericCl
|
||||
tearoff getterCalls = self::GenericExtension|get#getterCalls;
|
||||
set property = self::GenericExtension|set#property;
|
||||
}
|
||||
static method Extension|get#readGetter(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|get#readGetter(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|readGetter(#this);
|
||||
static method Extension|readGetter(final self::Class* #this) → dynamic {
|
||||
static method Extension|readGetter(lowered final self::Class* #this) → dynamic {
|
||||
return self::Extension|get#property(#this);
|
||||
}
|
||||
static method Extension|writeSetterRequired(final self::Class* #this, dynamic value) → dynamic {
|
||||
static method Extension|writeSetterRequired(lowered final self::Class* #this, dynamic value) → dynamic {
|
||||
self::Extension|set#property(#this, value);
|
||||
}
|
||||
static method Extension|get#writeSetterRequired(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#writeSetterRequired(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|writeSetterRequired(#this, value);
|
||||
static method Extension|writeSetterOptional(final self::Class* #this, [dynamic value = #C1]) → dynamic {
|
||||
static method Extension|writeSetterOptional(lowered final self::Class* #this, [dynamic value = #C1]) → dynamic {
|
||||
self::Extension|set#property(#this, value);
|
||||
}
|
||||
static method Extension|get#writeSetterOptional(final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
static method Extension|get#writeSetterOptional(lowered final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
return ([dynamic value = #C1]) → dynamic => self::Extension|writeSetterOptional(#this, value);
|
||||
static method Extension|writeSetterNamed(final self::Class* #this, {dynamic value = #C1}) → dynamic {
|
||||
static method Extension|writeSetterNamed(lowered final self::Class* #this, {dynamic value = #C1}) → dynamic {
|
||||
self::Extension|set#property(#this, value);
|
||||
}
|
||||
static method Extension|get#writeSetterNamed(final self::Class* #this) → ({value: dynamic}) →* dynamic
|
||||
static method Extension|get#writeSetterNamed(lowered final self::Class* #this) → ({value: dynamic}) →* dynamic
|
||||
return ({dynamic value = #C1}) → dynamic => self::Extension|writeSetterNamed(#this, value: value);
|
||||
static method Extension|get#tearOffGetterNoArgs(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterNoArgs(lowered final self::Class* #this) → dynamic
|
||||
return self::Extension|get#readGetter(#this);
|
||||
static method Extension|get#tearOffGetterRequired(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterRequired(lowered final self::Class* #this) → dynamic
|
||||
return self::Extension|get#writeSetterRequired(#this);
|
||||
static method Extension|get#tearOffGetterOptional(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterOptional(lowered final self::Class* #this) → dynamic
|
||||
return self::Extension|get#writeSetterOptional(#this);
|
||||
static method Extension|get#tearOffGetterNamed(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterNamed(lowered final self::Class* #this) → dynamic
|
||||
return self::Extension|get#writeSetterNamed(#this);
|
||||
static method Extension|get#property(final self::Class* #this) → dynamic
|
||||
static method Extension|get#property(lowered final self::Class* #this) → dynamic
|
||||
return #this.{self::Class::field};
|
||||
static method Extension|set#property(final self::Class* #this, dynamic value) → void {
|
||||
static method Extension|set#property(lowered final self::Class* #this, dynamic value) → void {
|
||||
#this.{self::Class::field} = value;
|
||||
}
|
||||
static method Extension|invocations(final self::Class* #this, dynamic value) → dynamic {
|
||||
static method Extension|invocations(lowered final self::Class* #this, dynamic value) → dynamic {
|
||||
self::Extension|readGetter(#this);
|
||||
self::Extension|writeSetterRequired(#this, value);
|
||||
self::Extension|writeSetterOptional(#this);
|
||||
@@ -128,11 +128,11 @@ static method Extension|invocations(final self::Class* #this, dynamic value) →
|
||||
self::Extension|writeSetterNamed(#this);
|
||||
self::Extension|writeSetterNamed(#this, value: value);
|
||||
}
|
||||
static method Extension|get#invocations(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#invocations(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|invocations(#this, value);
|
||||
static method Extension|get#tearOffs(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#tearOffs(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|tearOffs(#this, value);
|
||||
static method Extension|tearOffs(final self::Class* #this, dynamic value) → dynamic {
|
||||
static method Extension|tearOffs(lowered final self::Class* #this, dynamic value) → dynamic {
|
||||
() →* dynamic tearOffNoArgs = self::Extension|get#readGetter(#this);
|
||||
tearOffNoArgs.call();
|
||||
(dynamic) →* dynamic tearOffRequired = self::Extension|get#writeSetterRequired(#this);
|
||||
@@ -144,7 +144,7 @@ static method Extension|tearOffs(final self::Class* #this, dynamic value) → dy
|
||||
tearOffNamed.call();
|
||||
tearOffNamed.call(value: value);
|
||||
}
|
||||
static method Extension|getterCalls(final self::Class* #this, dynamic value) → dynamic {
|
||||
static method Extension|getterCalls(lowered final self::Class* #this, dynamic value) → dynamic {
|
||||
self::Extension|get#tearOffGetterNoArgs(#this).call();
|
||||
self::Extension|get#tearOffGetterRequired(#this).call(value);
|
||||
self::Extension|get#tearOffGetterOptional(#this).call();
|
||||
@@ -152,63 +152,63 @@ static method Extension|getterCalls(final self::Class* #this, dynamic value) →
|
||||
self::Extension|get#tearOffGetterNamed(#this).call();
|
||||
self::Extension|get#tearOffGetterNamed(#this).call(value: value);
|
||||
}
|
||||
static method Extension|get#getterCalls(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#getterCalls(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|getterCalls(#this, value);
|
||||
static method GenericExtension|readGetter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|readGetter::T*>* #this) → self::GenericExtension|readGetter::T* {
|
||||
static method GenericExtension|readGetter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|readGetter::T*>* #this) → self::GenericExtension|readGetter::T* {
|
||||
return self::GenericExtension|get#property<self::GenericExtension|readGetter::T*>(#this);
|
||||
}
|
||||
static method GenericExtension|get#readGetter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#readGetter::T*>* #this) → () →* self::GenericExtension|get#readGetter::T*
|
||||
static method GenericExtension|get#readGetter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#readGetter::T*>* #this) → () →* self::GenericExtension|get#readGetter::T*
|
||||
return () → self::GenericExtension|get#readGetter::T* => self::GenericExtension|readGetter<self::GenericExtension|get#readGetter::T*>(#this);
|
||||
static method GenericExtension|writeSetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|writeSetterRequired::T*>* #this, self::GenericExtension|writeSetterRequired::T* value) → dynamic {
|
||||
static method GenericExtension|writeSetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|writeSetterRequired::T*>* #this, self::GenericExtension|writeSetterRequired::T* value) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|writeSetterRequired::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#writeSetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#writeSetterRequired::T*>* #this) → (self::GenericExtension|get#writeSetterRequired::T*) →* dynamic
|
||||
static method GenericExtension|get#writeSetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#writeSetterRequired::T*>* #this) → (self::GenericExtension|get#writeSetterRequired::T*) →* dynamic
|
||||
return (self::GenericExtension|get#writeSetterRequired::T* value) → dynamic => self::GenericExtension|writeSetterRequired<self::GenericExtension|get#writeSetterRequired::T*>(#this, value);
|
||||
static method GenericExtension|writeSetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|writeSetterOptional::T*>* #this, [self::GenericExtension|writeSetterOptional::T* value = #C1]) → dynamic {
|
||||
static method GenericExtension|writeSetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|writeSetterOptional::T*>* #this, [self::GenericExtension|writeSetterOptional::T* value = #C1]) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|writeSetterOptional::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#writeSetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#writeSetterOptional::T*>* #this) → ([self::GenericExtension|get#writeSetterOptional::T*]) →* dynamic
|
||||
static method GenericExtension|get#writeSetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#writeSetterOptional::T*>* #this) → ([self::GenericExtension|get#writeSetterOptional::T*]) →* dynamic
|
||||
return ([self::GenericExtension|get#writeSetterOptional::T* value = #C1]) → dynamic => self::GenericExtension|writeSetterOptional<self::GenericExtension|get#writeSetterOptional::T*>(#this, value);
|
||||
static method GenericExtension|writeSetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|writeSetterNamed::T*>* #this, {self::GenericExtension|writeSetterNamed::T* value = #C1}) → dynamic {
|
||||
static method GenericExtension|writeSetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|writeSetterNamed::T*>* #this, {self::GenericExtension|writeSetterNamed::T* value = #C1}) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|writeSetterNamed::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#writeSetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#writeSetterNamed::T*>* #this) → ({value: self::GenericExtension|get#writeSetterNamed::T*}) →* dynamic
|
||||
static method GenericExtension|get#writeSetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#writeSetterNamed::T*>* #this) → ({value: self::GenericExtension|get#writeSetterNamed::T*}) →* dynamic
|
||||
return ({self::GenericExtension|get#writeSetterNamed::T* value = #C1}) → dynamic => self::GenericExtension|writeSetterNamed<self::GenericExtension|get#writeSetterNamed::T*>(#this, value: value);
|
||||
static method GenericExtension|genericWriteSetterRequired<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterRequired::T* = dynamic>(final self::GenericClass<self::GenericExtension|genericWriteSetterRequired::T*>* #this, self::GenericExtension|genericWriteSetterRequired::S* value) → dynamic {
|
||||
static method GenericExtension|genericWriteSetterRequired<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterRequired::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericWriteSetterRequired::T*>* #this, self::GenericExtension|genericWriteSetterRequired::S* value) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|genericWriteSetterRequired::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#genericWriteSetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericWriteSetterRequired::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterRequired::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#genericWriteSetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericWriteSetterRequired::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterRequired::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#genericWriteSetterRequired::T* = dynamic>(S* value) → dynamic => self::GenericExtension|genericWriteSetterRequired<self::GenericExtension|get#genericWriteSetterRequired::T*, S*>(#this, value);
|
||||
static method GenericExtension|genericWriteSetterOptional<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterOptional::T* = dynamic>(final self::GenericClass<self::GenericExtension|genericWriteSetterOptional::T*>* #this, [self::GenericExtension|genericWriteSetterOptional::S* value = #C1]) → dynamic {
|
||||
static method GenericExtension|genericWriteSetterOptional<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterOptional::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericWriteSetterOptional::T*>* #this, [self::GenericExtension|genericWriteSetterOptional::S* value = #C1]) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|genericWriteSetterOptional::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#genericWriteSetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericWriteSetterOptional::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterOptional::T* = dynamic>([S*]) →* dynamic
|
||||
static method GenericExtension|get#genericWriteSetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericWriteSetterOptional::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterOptional::T* = dynamic>([S*]) →* dynamic
|
||||
return <S extends self::GenericExtension|get#genericWriteSetterOptional::T* = dynamic>([S* value = #C1]) → dynamic => self::GenericExtension|genericWriteSetterOptional<self::GenericExtension|get#genericWriteSetterOptional::T*, S*>(#this, value);
|
||||
static method GenericExtension|get#genericWriteSetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericWriteSetterNamed::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterNamed::T* = dynamic>({value: S*}) →* dynamic
|
||||
static method GenericExtension|get#genericWriteSetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericWriteSetterNamed::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterNamed::T* = dynamic>({value: S*}) →* dynamic
|
||||
return <S extends self::GenericExtension|get#genericWriteSetterNamed::T* = dynamic>({S* value = #C1}) → dynamic => self::GenericExtension|genericWriteSetterNamed<self::GenericExtension|get#genericWriteSetterNamed::T*, S*>(#this, value: value);
|
||||
static method GenericExtension|genericWriteSetterNamed<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterNamed::T* = dynamic>(final self::GenericClass<self::GenericExtension|genericWriteSetterNamed::T*>* #this, {self::GenericExtension|genericWriteSetterNamed::S* value = #C1}) → dynamic {
|
||||
static method GenericExtension|genericWriteSetterNamed<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterNamed::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericWriteSetterNamed::T*>* #this, {self::GenericExtension|genericWriteSetterNamed::S* value = #C1}) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|genericWriteSetterNamed::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
return #this.{self::GenericClass::field};
|
||||
static method GenericExtension|set#property<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|set#property::T*>* #this, self::GenericExtension|set#property::T* value) → void {
|
||||
static method GenericExtension|set#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#property::T*>* #this, self::GenericExtension|set#property::T* value) → void {
|
||||
#this.{self::GenericClass::field} = value;
|
||||
}
|
||||
static method GenericExtension|get#tearOffGetterNoArgs<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterNoArgs::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterNoArgs<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterNoArgs::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#readGetter<self::GenericExtension|get#tearOffGetterNoArgs::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterRequired::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterRequired::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#writeSetterRequired<self::GenericExtension|get#tearOffGetterRequired::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterOptional::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterOptional::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#writeSetterOptional<self::GenericExtension|get#tearOffGetterOptional::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterNamed::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterNamed::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#writeSetterNamed<self::GenericExtension|get#tearOffGetterNamed::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterGenericRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericRequired::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterGenericRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericRequired::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#genericWriteSetterRequired<self::GenericExtension|get#tearOffGetterGenericRequired::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterGenericOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericOptional::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterGenericOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericOptional::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#genericWriteSetterOptional<self::GenericExtension|get#tearOffGetterGenericOptional::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterGenericNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericNamed::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterGenericNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericNamed::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#genericWriteSetterNamed<self::GenericExtension|get#tearOffGetterGenericNamed::T*>(#this);
|
||||
static method GenericExtension|invocations<T extends core::Object* = dynamic, S extends self::GenericExtension|invocations::T* = dynamic>(final self::GenericClass<self::GenericExtension|invocations::T*>* #this, self::GenericExtension|invocations::S* value) → dynamic {
|
||||
static method GenericExtension|invocations<T extends core::Object* = dynamic, S extends self::GenericExtension|invocations::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|invocations::T*>* #this, self::GenericExtension|invocations::S* value) → dynamic {
|
||||
self::GenericExtension|readGetter<self::GenericExtension|invocations::T*>(#this);
|
||||
self::GenericExtension|writeSetterRequired<self::GenericExtension|invocations::T*>(#this, value);
|
||||
self::GenericExtension|writeSetterOptional<self::GenericExtension|invocations::T*>(#this);
|
||||
@@ -231,9 +231,9 @@ static method GenericExtension|invocations<T extends core::Object* = dynamic, S
|
||||
self::GenericExtension|genericWriteSetterNamed<self::GenericExtension|invocations::T*, self::GenericExtension|invocations::T*>(#this, value: value);
|
||||
self::GenericExtension|genericWriteSetterNamed<self::GenericExtension|invocations::T*, self::GenericExtension|invocations::S*>(#this, value: value);
|
||||
}
|
||||
static method GenericExtension|get#invocations<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#invocations::T*>* #this) → <S extends self::GenericExtension|get#invocations::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#invocations<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#invocations::T*>* #this) → <S extends self::GenericExtension|get#invocations::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#invocations::T* = dynamic>(S* value) → dynamic => self::GenericExtension|invocations<self::GenericExtension|get#invocations::T*, S*>(#this, value);
|
||||
static method GenericExtension|tearOffs<T extends core::Object* = dynamic, S extends self::GenericExtension|tearOffs::T* = dynamic>(final self::GenericClass<self::GenericExtension|tearOffs::T*>* #this, self::GenericExtension|tearOffs::S* value) → dynamic {
|
||||
static method GenericExtension|tearOffs<T extends core::Object* = dynamic, S extends self::GenericExtension|tearOffs::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|tearOffs::T*>* #this, self::GenericExtension|tearOffs::S* value) → dynamic {
|
||||
() →* self::GenericExtension|tearOffs::T* tearOffNoArgs = self::GenericExtension|get#readGetter<self::GenericExtension|tearOffs::T*>(#this);
|
||||
tearOffNoArgs.call();
|
||||
(self::GenericExtension|tearOffs::T*) →* dynamic tearOffRequired = self::GenericExtension|get#writeSetterRequired<self::GenericExtension|tearOffs::T*>(#this);
|
||||
@@ -263,9 +263,9 @@ static method GenericExtension|tearOffs<T extends core::Object* = dynamic, S ext
|
||||
genericTearOffNamed.call<self::GenericExtension|tearOffs::T*>(value: value);
|
||||
genericTearOffNamed.call<self::GenericExtension|tearOffs::S*>(value: value);
|
||||
}
|
||||
static method GenericExtension|get#tearOffs<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffs::T*>* #this) → <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#tearOffs<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffs::T*>* #this) → <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S* value) → dynamic => self::GenericExtension|tearOffs<self::GenericExtension|get#tearOffs::T*, S*>(#this, value);
|
||||
static method GenericExtension|getterCalls<T extends core::Object* = dynamic, S extends self::GenericExtension|getterCalls::T* = dynamic>(final self::GenericClass<self::GenericExtension|getterCalls::T*>* #this, self::GenericExtension|getterCalls::S* value) → dynamic {
|
||||
static method GenericExtension|getterCalls<T extends core::Object* = dynamic, S extends self::GenericExtension|getterCalls::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|getterCalls::T*>* #this, self::GenericExtension|getterCalls::S* value) → dynamic {
|
||||
self::GenericExtension|get#tearOffGetterNoArgs<self::GenericExtension|getterCalls::T*>(#this).call();
|
||||
self::GenericExtension|get#tearOffGetterRequired<self::GenericExtension|getterCalls::T*>(#this).call(value);
|
||||
self::GenericExtension|get#tearOffGetterOptional<self::GenericExtension|getterCalls::T*>(#this).call();
|
||||
@@ -288,7 +288,7 @@ static method GenericExtension|getterCalls<T extends core::Object* = dynamic, S
|
||||
self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>(value: value);
|
||||
self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>(value: value);
|
||||
}
|
||||
static method GenericExtension|get#getterCalls<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#getterCalls::T*>* #this) → <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#getterCalls<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#getterCalls::T*>* #this) → <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S* value) → dynamic => self::GenericExtension|getterCalls<self::GenericExtension|get#getterCalls::T*, S*>(#this, value);
|
||||
static method main() → dynamic {}
|
||||
|
||||
|
||||
+49
-49
@@ -87,40 +87,40 @@ extension GenericExtension<T extends core::Object* = dynamic> on self::GenericCl
|
||||
tearoff getterCalls = self::GenericExtension|get#getterCalls;
|
||||
set property = self::GenericExtension|set#property;
|
||||
}
|
||||
static method Extension|get#readGetter(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|get#readGetter(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|readGetter(#this);
|
||||
static method Extension|readGetter(final self::Class* #this) → dynamic {
|
||||
static method Extension|readGetter(lowered final self::Class* #this) → dynamic {
|
||||
return self::Extension|get#property(#this);
|
||||
}
|
||||
static method Extension|writeSetterRequired(final self::Class* #this, dynamic value) → dynamic {
|
||||
static method Extension|writeSetterRequired(lowered final self::Class* #this, dynamic value) → dynamic {
|
||||
self::Extension|set#property(#this, value);
|
||||
}
|
||||
static method Extension|get#writeSetterRequired(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#writeSetterRequired(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|writeSetterRequired(#this, value);
|
||||
static method Extension|writeSetterOptional(final self::Class* #this, [dynamic value = #C1]) → dynamic {
|
||||
static method Extension|writeSetterOptional(lowered final self::Class* #this, [dynamic value = #C1]) → dynamic {
|
||||
self::Extension|set#property(#this, value);
|
||||
}
|
||||
static method Extension|get#writeSetterOptional(final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
static method Extension|get#writeSetterOptional(lowered final self::Class* #this) → ([dynamic]) →* dynamic
|
||||
return ([dynamic value = #C1]) → dynamic => self::Extension|writeSetterOptional(#this, value);
|
||||
static method Extension|writeSetterNamed(final self::Class* #this, {dynamic value = #C1}) → dynamic {
|
||||
static method Extension|writeSetterNamed(lowered final self::Class* #this, {dynamic value = #C1}) → dynamic {
|
||||
self::Extension|set#property(#this, value);
|
||||
}
|
||||
static method Extension|get#writeSetterNamed(final self::Class* #this) → ({value: dynamic}) →* dynamic
|
||||
static method Extension|get#writeSetterNamed(lowered final self::Class* #this) → ({value: dynamic}) →* dynamic
|
||||
return ({dynamic value = #C1}) → dynamic => self::Extension|writeSetterNamed(#this, value: value);
|
||||
static method Extension|get#tearOffGetterNoArgs(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterNoArgs(lowered final self::Class* #this) → dynamic
|
||||
return self::Extension|get#readGetter(#this);
|
||||
static method Extension|get#tearOffGetterRequired(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterRequired(lowered final self::Class* #this) → dynamic
|
||||
return self::Extension|get#writeSetterRequired(#this);
|
||||
static method Extension|get#tearOffGetterOptional(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterOptional(lowered final self::Class* #this) → dynamic
|
||||
return self::Extension|get#writeSetterOptional(#this);
|
||||
static method Extension|get#tearOffGetterNamed(final self::Class* #this) → dynamic
|
||||
static method Extension|get#tearOffGetterNamed(lowered final self::Class* #this) → dynamic
|
||||
return self::Extension|get#writeSetterNamed(#this);
|
||||
static method Extension|get#property(final self::Class* #this) → dynamic
|
||||
static method Extension|get#property(lowered final self::Class* #this) → dynamic
|
||||
return #this.{self::Class::field};
|
||||
static method Extension|set#property(final self::Class* #this, dynamic value) → void {
|
||||
static method Extension|set#property(lowered final self::Class* #this, dynamic value) → void {
|
||||
#this.{self::Class::field} = value;
|
||||
}
|
||||
static method Extension|invocations(final self::Class* #this, dynamic value) → dynamic {
|
||||
static method Extension|invocations(lowered final self::Class* #this, dynamic value) → dynamic {
|
||||
self::Extension|readGetter(#this);
|
||||
self::Extension|writeSetterRequired(#this, value);
|
||||
self::Extension|writeSetterOptional(#this);
|
||||
@@ -128,11 +128,11 @@ static method Extension|invocations(final self::Class* #this, dynamic value) →
|
||||
self::Extension|writeSetterNamed(#this);
|
||||
self::Extension|writeSetterNamed(#this, value: value);
|
||||
}
|
||||
static method Extension|get#invocations(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#invocations(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|invocations(#this, value);
|
||||
static method Extension|get#tearOffs(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#tearOffs(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|tearOffs(#this, value);
|
||||
static method Extension|tearOffs(final self::Class* #this, dynamic value) → dynamic {
|
||||
static method Extension|tearOffs(lowered final self::Class* #this, dynamic value) → dynamic {
|
||||
() →* dynamic tearOffNoArgs = self::Extension|get#readGetter(#this);
|
||||
tearOffNoArgs.call();
|
||||
(dynamic) →* dynamic tearOffRequired = self::Extension|get#writeSetterRequired(#this);
|
||||
@@ -144,7 +144,7 @@ static method Extension|tearOffs(final self::Class* #this, dynamic value) → dy
|
||||
tearOffNamed.call();
|
||||
tearOffNamed.call(value: value);
|
||||
}
|
||||
static method Extension|getterCalls(final self::Class* #this, dynamic value) → dynamic {
|
||||
static method Extension|getterCalls(lowered final self::Class* #this, dynamic value) → dynamic {
|
||||
self::Extension|get#tearOffGetterNoArgs(#this).call();
|
||||
self::Extension|get#tearOffGetterRequired(#this).call(value);
|
||||
self::Extension|get#tearOffGetterOptional(#this).call();
|
||||
@@ -152,63 +152,63 @@ static method Extension|getterCalls(final self::Class* #this, dynamic value) →
|
||||
self::Extension|get#tearOffGetterNamed(#this).call();
|
||||
self::Extension|get#tearOffGetterNamed(#this).call(value: value);
|
||||
}
|
||||
static method Extension|get#getterCalls(final self::Class* #this) → (dynamic) →* dynamic
|
||||
static method Extension|get#getterCalls(lowered final self::Class* #this) → (dynamic) →* dynamic
|
||||
return (dynamic value) → dynamic => self::Extension|getterCalls(#this, value);
|
||||
static method GenericExtension|readGetter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|readGetter::T*>* #this) → self::GenericExtension|readGetter::T* {
|
||||
static method GenericExtension|readGetter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|readGetter::T*>* #this) → self::GenericExtension|readGetter::T* {
|
||||
return self::GenericExtension|get#property<self::GenericExtension|readGetter::T*>(#this);
|
||||
}
|
||||
static method GenericExtension|get#readGetter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#readGetter::T*>* #this) → () →* self::GenericExtension|get#readGetter::T*
|
||||
static method GenericExtension|get#readGetter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#readGetter::T*>* #this) → () →* self::GenericExtension|get#readGetter::T*
|
||||
return () → self::GenericExtension|get#readGetter::T* => self::GenericExtension|readGetter<self::GenericExtension|get#readGetter::T*>(#this);
|
||||
static method GenericExtension|writeSetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|writeSetterRequired::T*>* #this, self::GenericExtension|writeSetterRequired::T* value) → dynamic {
|
||||
static method GenericExtension|writeSetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|writeSetterRequired::T*>* #this, self::GenericExtension|writeSetterRequired::T* value) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|writeSetterRequired::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#writeSetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#writeSetterRequired::T*>* #this) → (self::GenericExtension|get#writeSetterRequired::T*) →* dynamic
|
||||
static method GenericExtension|get#writeSetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#writeSetterRequired::T*>* #this) → (self::GenericExtension|get#writeSetterRequired::T*) →* dynamic
|
||||
return (self::GenericExtension|get#writeSetterRequired::T* value) → dynamic => self::GenericExtension|writeSetterRequired<self::GenericExtension|get#writeSetterRequired::T*>(#this, value);
|
||||
static method GenericExtension|writeSetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|writeSetterOptional::T*>* #this, [self::GenericExtension|writeSetterOptional::T* value = #C1]) → dynamic {
|
||||
static method GenericExtension|writeSetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|writeSetterOptional::T*>* #this, [self::GenericExtension|writeSetterOptional::T* value = #C1]) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|writeSetterOptional::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#writeSetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#writeSetterOptional::T*>* #this) → ([self::GenericExtension|get#writeSetterOptional::T*]) →* dynamic
|
||||
static method GenericExtension|get#writeSetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#writeSetterOptional::T*>* #this) → ([self::GenericExtension|get#writeSetterOptional::T*]) →* dynamic
|
||||
return ([self::GenericExtension|get#writeSetterOptional::T* value = #C1]) → dynamic => self::GenericExtension|writeSetterOptional<self::GenericExtension|get#writeSetterOptional::T*>(#this, value);
|
||||
static method GenericExtension|writeSetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|writeSetterNamed::T*>* #this, {self::GenericExtension|writeSetterNamed::T* value = #C1}) → dynamic {
|
||||
static method GenericExtension|writeSetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|writeSetterNamed::T*>* #this, {self::GenericExtension|writeSetterNamed::T* value = #C1}) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|writeSetterNamed::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#writeSetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#writeSetterNamed::T*>* #this) → ({value: self::GenericExtension|get#writeSetterNamed::T*}) →* dynamic
|
||||
static method GenericExtension|get#writeSetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#writeSetterNamed::T*>* #this) → ({value: self::GenericExtension|get#writeSetterNamed::T*}) →* dynamic
|
||||
return ({self::GenericExtension|get#writeSetterNamed::T* value = #C1}) → dynamic => self::GenericExtension|writeSetterNamed<self::GenericExtension|get#writeSetterNamed::T*>(#this, value: value);
|
||||
static method GenericExtension|genericWriteSetterRequired<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterRequired::T* = dynamic>(final self::GenericClass<self::GenericExtension|genericWriteSetterRequired::T*>* #this, self::GenericExtension|genericWriteSetterRequired::S* value) → dynamic {
|
||||
static method GenericExtension|genericWriteSetterRequired<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterRequired::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericWriteSetterRequired::T*>* #this, self::GenericExtension|genericWriteSetterRequired::S* value) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|genericWriteSetterRequired::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#genericWriteSetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericWriteSetterRequired::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterRequired::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#genericWriteSetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericWriteSetterRequired::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterRequired::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#genericWriteSetterRequired::T* = dynamic>(S* value) → dynamic => self::GenericExtension|genericWriteSetterRequired<self::GenericExtension|get#genericWriteSetterRequired::T*, S*>(#this, value);
|
||||
static method GenericExtension|genericWriteSetterOptional<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterOptional::T* = dynamic>(final self::GenericClass<self::GenericExtension|genericWriteSetterOptional::T*>* #this, [self::GenericExtension|genericWriteSetterOptional::S* value = #C1]) → dynamic {
|
||||
static method GenericExtension|genericWriteSetterOptional<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterOptional::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericWriteSetterOptional::T*>* #this, [self::GenericExtension|genericWriteSetterOptional::S* value = #C1]) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|genericWriteSetterOptional::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#genericWriteSetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericWriteSetterOptional::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterOptional::T* = dynamic>([S*]) →* dynamic
|
||||
static method GenericExtension|get#genericWriteSetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericWriteSetterOptional::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterOptional::T* = dynamic>([S*]) →* dynamic
|
||||
return <S extends self::GenericExtension|get#genericWriteSetterOptional::T* = dynamic>([S* value = #C1]) → dynamic => self::GenericExtension|genericWriteSetterOptional<self::GenericExtension|get#genericWriteSetterOptional::T*, S*>(#this, value);
|
||||
static method GenericExtension|get#genericWriteSetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericWriteSetterNamed::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterNamed::T* = dynamic>({value: S*}) →* dynamic
|
||||
static method GenericExtension|get#genericWriteSetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericWriteSetterNamed::T*>* #this) → <S extends self::GenericExtension|get#genericWriteSetterNamed::T* = dynamic>({value: S*}) →* dynamic
|
||||
return <S extends self::GenericExtension|get#genericWriteSetterNamed::T* = dynamic>({S* value = #C1}) → dynamic => self::GenericExtension|genericWriteSetterNamed<self::GenericExtension|get#genericWriteSetterNamed::T*, S*>(#this, value: value);
|
||||
static method GenericExtension|genericWriteSetterNamed<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterNamed::T* = dynamic>(final self::GenericClass<self::GenericExtension|genericWriteSetterNamed::T*>* #this, {self::GenericExtension|genericWriteSetterNamed::S* value = #C1}) → dynamic {
|
||||
static method GenericExtension|genericWriteSetterNamed<T extends core::Object* = dynamic, S extends self::GenericExtension|genericWriteSetterNamed::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericWriteSetterNamed::T*>* #this, {self::GenericExtension|genericWriteSetterNamed::S* value = #C1}) → dynamic {
|
||||
self::GenericExtension|set#property<self::GenericExtension|genericWriteSetterNamed::T*>(#this, value);
|
||||
}
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
return #this.{self::GenericClass::field};
|
||||
static method GenericExtension|set#property<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|set#property::T*>* #this, self::GenericExtension|set#property::T* value) → void {
|
||||
static method GenericExtension|set#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#property::T*>* #this, self::GenericExtension|set#property::T* value) → void {
|
||||
#this.{self::GenericClass::field} = value;
|
||||
}
|
||||
static method GenericExtension|get#tearOffGetterNoArgs<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterNoArgs::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterNoArgs<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterNoArgs::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#readGetter<self::GenericExtension|get#tearOffGetterNoArgs::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterRequired::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterRequired::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#writeSetterRequired<self::GenericExtension|get#tearOffGetterRequired::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterOptional::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterOptional::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#writeSetterOptional<self::GenericExtension|get#tearOffGetterOptional::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterNamed::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterNamed::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#writeSetterNamed<self::GenericExtension|get#tearOffGetterNamed::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterGenericRequired<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericRequired::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterGenericRequired<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericRequired::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#genericWriteSetterRequired<self::GenericExtension|get#tearOffGetterGenericRequired::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterGenericOptional<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericOptional::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterGenericOptional<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericOptional::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#genericWriteSetterOptional<self::GenericExtension|get#tearOffGetterGenericOptional::T*>(#this);
|
||||
static method GenericExtension|get#tearOffGetterGenericNamed<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericNamed::T*>* #this) → dynamic
|
||||
static method GenericExtension|get#tearOffGetterGenericNamed<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffGetterGenericNamed::T*>* #this) → dynamic
|
||||
return self::GenericExtension|get#genericWriteSetterNamed<self::GenericExtension|get#tearOffGetterGenericNamed::T*>(#this);
|
||||
static method GenericExtension|invocations<T extends core::Object* = dynamic, S extends self::GenericExtension|invocations::T* = dynamic>(final self::GenericClass<self::GenericExtension|invocations::T*>* #this, self::GenericExtension|invocations::S* value) → dynamic {
|
||||
static method GenericExtension|invocations<T extends core::Object* = dynamic, S extends self::GenericExtension|invocations::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|invocations::T*>* #this, self::GenericExtension|invocations::S* value) → dynamic {
|
||||
self::GenericExtension|readGetter<self::GenericExtension|invocations::T*>(#this);
|
||||
self::GenericExtension|writeSetterRequired<self::GenericExtension|invocations::T*>(#this, value);
|
||||
self::GenericExtension|writeSetterOptional<self::GenericExtension|invocations::T*>(#this);
|
||||
@@ -231,9 +231,9 @@ static method GenericExtension|invocations<T extends core::Object* = dynamic, S
|
||||
self::GenericExtension|genericWriteSetterNamed<self::GenericExtension|invocations::T*, self::GenericExtension|invocations::T*>(#this, value: value);
|
||||
self::GenericExtension|genericWriteSetterNamed<self::GenericExtension|invocations::T*, self::GenericExtension|invocations::S*>(#this, value: value);
|
||||
}
|
||||
static method GenericExtension|get#invocations<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#invocations::T*>* #this) → <S extends self::GenericExtension|get#invocations::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#invocations<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#invocations::T*>* #this) → <S extends self::GenericExtension|get#invocations::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#invocations::T* = dynamic>(S* value) → dynamic => self::GenericExtension|invocations<self::GenericExtension|get#invocations::T*, S*>(#this, value);
|
||||
static method GenericExtension|tearOffs<T extends core::Object* = dynamic, S extends self::GenericExtension|tearOffs::T* = dynamic>(final self::GenericClass<self::GenericExtension|tearOffs::T*>* #this, self::GenericExtension|tearOffs::S* value) → dynamic {
|
||||
static method GenericExtension|tearOffs<T extends core::Object* = dynamic, S extends self::GenericExtension|tearOffs::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|tearOffs::T*>* #this, self::GenericExtension|tearOffs::S* value) → dynamic {
|
||||
() →* self::GenericExtension|tearOffs::T* tearOffNoArgs = self::GenericExtension|get#readGetter<self::GenericExtension|tearOffs::T*>(#this);
|
||||
tearOffNoArgs.call();
|
||||
(self::GenericExtension|tearOffs::T*) →* dynamic tearOffRequired = self::GenericExtension|get#writeSetterRequired<self::GenericExtension|tearOffs::T*>(#this);
|
||||
@@ -263,9 +263,9 @@ static method GenericExtension|tearOffs<T extends core::Object* = dynamic, S ext
|
||||
genericTearOffNamed.call<self::GenericExtension|tearOffs::T*>(value: value);
|
||||
genericTearOffNamed.call<self::GenericExtension|tearOffs::S*>(value: value);
|
||||
}
|
||||
static method GenericExtension|get#tearOffs<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#tearOffs::T*>* #this) → <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#tearOffs<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#tearOffs::T*>* #this) → <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#tearOffs::T* = dynamic>(S* value) → dynamic => self::GenericExtension|tearOffs<self::GenericExtension|get#tearOffs::T*, S*>(#this, value);
|
||||
static method GenericExtension|getterCalls<T extends core::Object* = dynamic, S extends self::GenericExtension|getterCalls::T* = dynamic>(final self::GenericClass<self::GenericExtension|getterCalls::T*>* #this, self::GenericExtension|getterCalls::S* value) → dynamic {
|
||||
static method GenericExtension|getterCalls<T extends core::Object* = dynamic, S extends self::GenericExtension|getterCalls::T* = dynamic>(lowered final self::GenericClass<self::GenericExtension|getterCalls::T*>* #this, self::GenericExtension|getterCalls::S* value) → dynamic {
|
||||
self::GenericExtension|get#tearOffGetterNoArgs<self::GenericExtension|getterCalls::T*>(#this).call();
|
||||
self::GenericExtension|get#tearOffGetterRequired<self::GenericExtension|getterCalls::T*>(#this).call(value);
|
||||
self::GenericExtension|get#tearOffGetterOptional<self::GenericExtension|getterCalls::T*>(#this).call();
|
||||
@@ -288,7 +288,7 @@ static method GenericExtension|getterCalls<T extends core::Object* = dynamic, S
|
||||
self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::T*>(value: value);
|
||||
self::GenericExtension|get#tearOffGetterGenericNamed<self::GenericExtension|getterCalls::T*>(#this).call<self::GenericExtension|getterCalls::S*>(value: value);
|
||||
}
|
||||
static method GenericExtension|get#getterCalls<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#getterCalls::T*>* #this) → <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S*) →* dynamic
|
||||
static method GenericExtension|get#getterCalls<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#getterCalls::T*>* #this) → <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S*) →* dynamic
|
||||
return <S extends self::GenericExtension|get#getterCalls::T* = dynamic>(S* value) → dynamic => self::GenericExtension|getterCalls<self::GenericExtension|get#getterCalls::T*, S*>(#this, value);
|
||||
static method main() → dynamic {}
|
||||
|
||||
|
||||
@@ -89,21 +89,21 @@ static method Extension|fieldAccessFromStaticContext() → dynamic
|
||||
;
|
||||
static method Extension|getterCallsFromStaticContext(core::int* value) → dynamic
|
||||
;
|
||||
static method Extension|invocationsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|invocationsFromInstanceContext::T*>* #this, self::Extension|invocationsFromInstanceContext::T* value) → dynamic
|
||||
static method Extension|invocationsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|invocationsFromInstanceContext::T*>* #this, self::Extension|invocationsFromInstanceContext::T* value) → dynamic
|
||||
;
|
||||
static method Extension|get#invocationsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#invocationsFromInstanceContext::T*>* #this) → (self::Extension|get#invocationsFromInstanceContext::T*) →* dynamic
|
||||
static method Extension|get#invocationsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#invocationsFromInstanceContext::T*>* #this) → (self::Extension|get#invocationsFromInstanceContext::T*) →* dynamic
|
||||
return (self::Extension|get#invocationsFromInstanceContext::T* value) → dynamic => self::Extension|invocationsFromInstanceContext<self::Extension|get#invocationsFromInstanceContext::T*>(#this, value);
|
||||
static method Extension|tearOffsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|tearOffsFromInstanceContext::T*>* #this, self::Extension|tearOffsFromInstanceContext::T* value) → dynamic
|
||||
static method Extension|tearOffsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|tearOffsFromInstanceContext::T*>* #this, self::Extension|tearOffsFromInstanceContext::T* value) → dynamic
|
||||
;
|
||||
static method Extension|get#tearOffsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#tearOffsFromInstanceContext::T*>* #this) → (self::Extension|get#tearOffsFromInstanceContext::T*) →* dynamic
|
||||
static method Extension|get#tearOffsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#tearOffsFromInstanceContext::T*>* #this) → (self::Extension|get#tearOffsFromInstanceContext::T*) →* dynamic
|
||||
return (self::Extension|get#tearOffsFromInstanceContext::T* value) → dynamic => self::Extension|tearOffsFromInstanceContext<self::Extension|get#tearOffsFromInstanceContext::T*>(#this, value);
|
||||
static method Extension|fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|fieldAccessFromInstanceContext::T*>* #this) → dynamic
|
||||
static method Extension|fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|fieldAccessFromInstanceContext::T*>* #this) → dynamic
|
||||
;
|
||||
static method Extension|get#fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#fieldAccessFromInstanceContext::T*>* #this) → () →* dynamic
|
||||
static method Extension|get#fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#fieldAccessFromInstanceContext::T*>* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|fieldAccessFromInstanceContext<self::Extension|get#fieldAccessFromInstanceContext::T*>(#this);
|
||||
static method Extension|getterCallsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|getterCallsFromInstanceContext::T*>* #this, self::Extension|getterCallsFromInstanceContext::T* value) → dynamic
|
||||
static method Extension|getterCallsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|getterCallsFromInstanceContext::T*>* #this, self::Extension|getterCallsFromInstanceContext::T* value) → dynamic
|
||||
;
|
||||
static method Extension|get#getterCallsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#getterCallsFromInstanceContext::T*>* #this) → (self::Extension|get#getterCallsFromInstanceContext::T*) →* dynamic
|
||||
static method Extension|get#getterCallsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#getterCallsFromInstanceContext::T*>* #this) → (self::Extension|get#getterCallsFromInstanceContext::T*) →* dynamic
|
||||
return (self::Extension|get#getterCallsFromInstanceContext::T* value) → dynamic => self::Extension|getterCallsFromInstanceContext<self::Extension|get#getterCallsFromInstanceContext::T*>(#this, value);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -155,7 +155,7 @@ static method Extension|getterCallsFromStaticContext(core::int* value) → dynam
|
||||
self::Extension|tearOffGetterGenericNamed.call(value: value);
|
||||
self::Extension|tearOffGetterGenericNamed.call<core::int*>(value: value);
|
||||
}
|
||||
static method Extension|invocationsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|invocationsFromInstanceContext::T*>* #this, self::Extension|invocationsFromInstanceContext::T* value) → dynamic {
|
||||
static method Extension|invocationsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|invocationsFromInstanceContext::T*>* #this, self::Extension|invocationsFromInstanceContext::T* value) → dynamic {
|
||||
self::Extension|readGetter();
|
||||
self::Extension|writeSetterRequired(value);
|
||||
self::Extension|writeSetterOptional();
|
||||
@@ -173,9 +173,9 @@ static method Extension|invocationsFromInstanceContext<T extends core::Object* =
|
||||
self::Extension|genericWriteSetterNamed<self::Extension|invocationsFromInstanceContext::T*>(value: value);
|
||||
self::Extension|genericWriteSetterNamed<self::Extension|invocationsFromInstanceContext::T*>(value: value);
|
||||
}
|
||||
static method Extension|get#invocationsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#invocationsFromInstanceContext::T*>* #this) → (self::Extension|get#invocationsFromInstanceContext::T*) →* dynamic
|
||||
static method Extension|get#invocationsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#invocationsFromInstanceContext::T*>* #this) → (self::Extension|get#invocationsFromInstanceContext::T*) →* dynamic
|
||||
return (self::Extension|get#invocationsFromInstanceContext::T* value) → dynamic => self::Extension|invocationsFromInstanceContext<self::Extension|get#invocationsFromInstanceContext::T*>(#this, value);
|
||||
static method Extension|tearOffsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|tearOffsFromInstanceContext::T*>* #this, self::Extension|tearOffsFromInstanceContext::T* value) → dynamic {
|
||||
static method Extension|tearOffsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|tearOffsFromInstanceContext::T*>* #this, self::Extension|tearOffsFromInstanceContext::T* value) → dynamic {
|
||||
() →* dynamic tearOffNoArgs = #C2;
|
||||
tearOffNoArgs.call();
|
||||
(dynamic) →* dynamic tearOffRequired = #C3;
|
||||
@@ -200,15 +200,15 @@ static method Extension|tearOffsFromInstanceContext<T extends core::Object* = dy
|
||||
tearOffGenericNamed.call<self::Extension|tearOffsFromInstanceContext::T*>(value: value);
|
||||
tearOffGenericNamed.call<self::Extension|tearOffsFromInstanceContext::T*>(value: value);
|
||||
}
|
||||
static method Extension|get#tearOffsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#tearOffsFromInstanceContext::T*>* #this) → (self::Extension|get#tearOffsFromInstanceContext::T*) →* dynamic
|
||||
static method Extension|get#tearOffsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#tearOffsFromInstanceContext::T*>* #this) → (self::Extension|get#tearOffsFromInstanceContext::T*) →* dynamic
|
||||
return (self::Extension|get#tearOffsFromInstanceContext::T* value) → dynamic => self::Extension|tearOffsFromInstanceContext<self::Extension|get#tearOffsFromInstanceContext::T*>(#this, value);
|
||||
static method Extension|fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|fieldAccessFromInstanceContext::T*>* #this) → dynamic {
|
||||
static method Extension|fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|fieldAccessFromInstanceContext::T*>* #this) → dynamic {
|
||||
self::Extension|field = self::Extension|property;
|
||||
self::Extension|property = self::Extension|field;
|
||||
}
|
||||
static method Extension|get#fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#fieldAccessFromInstanceContext::T*>* #this) → () →* dynamic
|
||||
static method Extension|get#fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#fieldAccessFromInstanceContext::T*>* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|fieldAccessFromInstanceContext<self::Extension|get#fieldAccessFromInstanceContext::T*>(#this);
|
||||
static method Extension|getterCallsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|getterCallsFromInstanceContext::T*>* #this, self::Extension|getterCallsFromInstanceContext::T* value) → dynamic {
|
||||
static method Extension|getterCallsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|getterCallsFromInstanceContext::T*>* #this, self::Extension|getterCallsFromInstanceContext::T* value) → dynamic {
|
||||
self::Extension|tearOffGetterNoArgs.call();
|
||||
self::Extension|tearOffGetterRequired.call(value);
|
||||
self::Extension|tearOffGetterOptional.call();
|
||||
@@ -226,7 +226,7 @@ static method Extension|getterCallsFromInstanceContext<T extends core::Object* =
|
||||
self::Extension|tearOffGetterGenericNamed.call(value: value);
|
||||
self::Extension|tearOffGetterGenericNamed.call<self::Extension|getterCallsFromInstanceContext::T*>(value: value);
|
||||
}
|
||||
static method Extension|get#getterCallsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#getterCallsFromInstanceContext::T*>* #this) → (self::Extension|get#getterCallsFromInstanceContext::T*) →* dynamic
|
||||
static method Extension|get#getterCallsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#getterCallsFromInstanceContext::T*>* #this) → (self::Extension|get#getterCallsFromInstanceContext::T*) →* dynamic
|
||||
return (self::Extension|get#getterCallsFromInstanceContext::T* value) → dynamic => self::Extension|getterCallsFromInstanceContext<self::Extension|get#getterCallsFromInstanceContext::T*>(#this, value);
|
||||
static method main() → dynamic {}
|
||||
|
||||
|
||||
+8
-8
@@ -155,7 +155,7 @@ static method Extension|getterCallsFromStaticContext(core::int* value) → dynam
|
||||
self::Extension|tearOffGetterGenericNamed.call(value: value);
|
||||
self::Extension|tearOffGetterGenericNamed.call<core::int*>(value: value);
|
||||
}
|
||||
static method Extension|invocationsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|invocationsFromInstanceContext::T*>* #this, self::Extension|invocationsFromInstanceContext::T* value) → dynamic {
|
||||
static method Extension|invocationsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|invocationsFromInstanceContext::T*>* #this, self::Extension|invocationsFromInstanceContext::T* value) → dynamic {
|
||||
self::Extension|readGetter();
|
||||
self::Extension|writeSetterRequired(value);
|
||||
self::Extension|writeSetterOptional();
|
||||
@@ -173,9 +173,9 @@ static method Extension|invocationsFromInstanceContext<T extends core::Object* =
|
||||
self::Extension|genericWriteSetterNamed<self::Extension|invocationsFromInstanceContext::T*>(value: value);
|
||||
self::Extension|genericWriteSetterNamed<self::Extension|invocationsFromInstanceContext::T*>(value: value);
|
||||
}
|
||||
static method Extension|get#invocationsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#invocationsFromInstanceContext::T*>* #this) → (self::Extension|get#invocationsFromInstanceContext::T*) →* dynamic
|
||||
static method Extension|get#invocationsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#invocationsFromInstanceContext::T*>* #this) → (self::Extension|get#invocationsFromInstanceContext::T*) →* dynamic
|
||||
return (self::Extension|get#invocationsFromInstanceContext::T* value) → dynamic => self::Extension|invocationsFromInstanceContext<self::Extension|get#invocationsFromInstanceContext::T*>(#this, value);
|
||||
static method Extension|tearOffsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|tearOffsFromInstanceContext::T*>* #this, self::Extension|tearOffsFromInstanceContext::T* value) → dynamic {
|
||||
static method Extension|tearOffsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|tearOffsFromInstanceContext::T*>* #this, self::Extension|tearOffsFromInstanceContext::T* value) → dynamic {
|
||||
() →* dynamic tearOffNoArgs = #C2;
|
||||
tearOffNoArgs.call();
|
||||
(dynamic) →* dynamic tearOffRequired = #C3;
|
||||
@@ -200,15 +200,15 @@ static method Extension|tearOffsFromInstanceContext<T extends core::Object* = dy
|
||||
tearOffGenericNamed.call<self::Extension|tearOffsFromInstanceContext::T*>(value: value);
|
||||
tearOffGenericNamed.call<self::Extension|tearOffsFromInstanceContext::T*>(value: value);
|
||||
}
|
||||
static method Extension|get#tearOffsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#tearOffsFromInstanceContext::T*>* #this) → (self::Extension|get#tearOffsFromInstanceContext::T*) →* dynamic
|
||||
static method Extension|get#tearOffsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#tearOffsFromInstanceContext::T*>* #this) → (self::Extension|get#tearOffsFromInstanceContext::T*) →* dynamic
|
||||
return (self::Extension|get#tearOffsFromInstanceContext::T* value) → dynamic => self::Extension|tearOffsFromInstanceContext<self::Extension|get#tearOffsFromInstanceContext::T*>(#this, value);
|
||||
static method Extension|fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|fieldAccessFromInstanceContext::T*>* #this) → dynamic {
|
||||
static method Extension|fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|fieldAccessFromInstanceContext::T*>* #this) → dynamic {
|
||||
self::Extension|field = self::Extension|property;
|
||||
self::Extension|property = self::Extension|field;
|
||||
}
|
||||
static method Extension|get#fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#fieldAccessFromInstanceContext::T*>* #this) → () →* dynamic
|
||||
static method Extension|get#fieldAccessFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#fieldAccessFromInstanceContext::T*>* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|fieldAccessFromInstanceContext<self::Extension|get#fieldAccessFromInstanceContext::T*>(#this);
|
||||
static method Extension|getterCallsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|getterCallsFromInstanceContext::T*>* #this, self::Extension|getterCallsFromInstanceContext::T* value) → dynamic {
|
||||
static method Extension|getterCallsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|getterCallsFromInstanceContext::T*>* #this, self::Extension|getterCallsFromInstanceContext::T* value) → dynamic {
|
||||
self::Extension|tearOffGetterNoArgs.call();
|
||||
self::Extension|tearOffGetterRequired.call(value);
|
||||
self::Extension|tearOffGetterOptional.call();
|
||||
@@ -226,7 +226,7 @@ static method Extension|getterCallsFromInstanceContext<T extends core::Object* =
|
||||
self::Extension|tearOffGetterGenericNamed.call(value: value);
|
||||
self::Extension|tearOffGetterGenericNamed.call<self::Extension|getterCallsFromInstanceContext::T*>(value: value);
|
||||
}
|
||||
static method Extension|get#getterCallsFromInstanceContext<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#getterCallsFromInstanceContext::T*>* #this) → (self::Extension|get#getterCallsFromInstanceContext::T*) →* dynamic
|
||||
static method Extension|get#getterCallsFromInstanceContext<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#getterCallsFromInstanceContext::T*>* #this) → (self::Extension|get#getterCallsFromInstanceContext::T*) →* dynamic
|
||||
return (self::Extension|get#getterCallsFromInstanceContext::T* value) → dynamic => self::Extension|getterCallsFromInstanceContext<self::Extension|get#getterCallsFromInstanceContext::T*>(#this, value);
|
||||
static method main() → dynamic {}
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@ extension Extension on dynamic {
|
||||
method method = self::Extension|method;
|
||||
tearoff method = self::Extension|get#method;
|
||||
}
|
||||
static method ClassExtension|method(final self::Class* #this) → core::int*
|
||||
static method ClassExtension|method(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method ClassExtension|get#method(final self::Class* #this) → () →* core::int*
|
||||
static method ClassExtension|get#method(lowered final self::Class* #this) → () →* core::int*
|
||||
return () → core::int* => self::ClassExtension|method(#this);
|
||||
static method Extension|method(final dynamic #this) → core::int*
|
||||
static method Extension|method(lowered final dynamic #this) → core::int*
|
||||
;
|
||||
static method Extension|get#method(final dynamic #this) → () →* core::int*
|
||||
static method Extension|get#method(lowered final dynamic #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension|method(#this);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -26,13 +26,13 @@ extension Extension on dynamic {
|
||||
method method = self::Extension|method;
|
||||
tearoff method = self::Extension|get#method;
|
||||
}
|
||||
static method ClassExtension|method(final self::Class* #this) → core::int*
|
||||
static method ClassExtension|method(lowered final self::Class* #this) → core::int*
|
||||
return 42;
|
||||
static method ClassExtension|get#method(final self::Class* #this) → () →* core::int*
|
||||
static method ClassExtension|get#method(lowered final self::Class* #this) → () →* core::int*
|
||||
return () → core::int* => self::ClassExtension|method(#this);
|
||||
static method Extension|method(final dynamic #this) → core::int*
|
||||
static method Extension|method(lowered final dynamic #this) → core::int*
|
||||
return 87;
|
||||
static method Extension|get#method(final dynamic #this) → () →* core::int*
|
||||
static method Extension|get#method(lowered final dynamic #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension|method(#this);
|
||||
static method main() → dynamic {
|
||||
dynamic c0 = new self::Class::•();
|
||||
|
||||
@@ -26,13 +26,13 @@ extension Extension on dynamic {
|
||||
method method = self::Extension|method;
|
||||
tearoff method = self::Extension|get#method;
|
||||
}
|
||||
static method ClassExtension|method(final self::Class* #this) → core::int*
|
||||
static method ClassExtension|method(lowered final self::Class* #this) → core::int*
|
||||
return 42;
|
||||
static method ClassExtension|get#method(final self::Class* #this) → () →* core::int*
|
||||
static method ClassExtension|get#method(lowered final self::Class* #this) → () →* core::int*
|
||||
return () → core::int* => self::ClassExtension|method(#this);
|
||||
static method Extension|method(final dynamic #this) → core::int*
|
||||
static method Extension|method(lowered final dynamic #this) → core::int*
|
||||
return 87;
|
||||
static method Extension|get#method(final dynamic #this) → () →* core::int*
|
||||
static method Extension|get#method(lowered final dynamic #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension|method(#this);
|
||||
static method main() → dynamic {
|
||||
dynamic c0 = new self::Class::•();
|
||||
|
||||
@@ -34,29 +34,29 @@ extension Extension2 on self::Class* {
|
||||
tearoff genericMethod = self::Extension2|get#genericMethod;
|
||||
set field = self::Extension2|set#field;
|
||||
}
|
||||
static method Extension1|get#field(final self::Class* #this) → core::int*
|
||||
static method Extension1|get#field(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method Extension1|set#field(final self::Class* #this, core::int* value) → void
|
||||
static method Extension1|set#field(lowered final self::Class* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension1|method(final self::Class* #this) → core::int*
|
||||
static method Extension1|method(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method Extension1|get#method(final self::Class* #this) → () →* core::int*
|
||||
static method Extension1|get#method(lowered final self::Class* #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension1|method(#this);
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*>(final self::Class* #this, self::Extension1|genericMethod::T* t) → core::int*
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*>(lowered final self::Class* #this, self::Extension1|genericMethod::T* t) → core::int*
|
||||
;
|
||||
static method Extension1|get#genericMethod(final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
static method Extension1|get#genericMethod(lowered final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
return <T extends core::num* = core::num*>(T* t) → core::int* => self::Extension1|genericMethod<T*>(#this, t);
|
||||
static method Extension2|get#field(final self::Class* #this) → core::int*
|
||||
static method Extension2|get#field(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method Extension2|set#field(final self::Class* #this, core::int* value) → void
|
||||
static method Extension2|set#field(lowered final self::Class* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension2|method(final self::Class* #this) → core::int*
|
||||
static method Extension2|method(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method Extension2|get#method(final self::Class* #this) → () →* core::int*
|
||||
static method Extension2|get#method(lowered final self::Class* #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension2|method(#this);
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*>(final self::Class* #this, self::Extension2|genericMethod::T* t) → core::int*
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*>(lowered final self::Class* #this, self::Extension2|genericMethod::T* t) → core::int*
|
||||
;
|
||||
static method Extension2|get#genericMethod(final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
static method Extension2|get#genericMethod(lowered final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
return <T extends core::num* = core::num*>(T* t) → core::int* => self::Extension2|genericMethod<T*>(#this, t);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -35,31 +35,31 @@ extension Extension2 on self::Class* {
|
||||
tearoff genericMethod = self::Extension2|get#genericMethod;
|
||||
set field = self::Extension2|set#field;
|
||||
}
|
||||
static method Extension1|get#field(final self::Class* #this) → core::int*
|
||||
static method Extension1|get#field(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field1};
|
||||
static method Extension1|set#field(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension1|set#field(lowered final self::Class* #this, core::int* value) → void {
|
||||
#this.{self::Class::field1} = value;
|
||||
}
|
||||
static method Extension1|method(final self::Class* #this) → core::int*
|
||||
static method Extension1|method(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field1};
|
||||
static method Extension1|get#method(final self::Class* #this) → () →* core::int*
|
||||
static method Extension1|get#method(lowered final self::Class* #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension1|method(#this);
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*>(final self::Class* #this, self::Extension1|genericMethod::T* t) → core::int*
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*>(lowered final self::Class* #this, self::Extension1|genericMethod::T* t) → core::int*
|
||||
return #this.{self::Class::field1}.{core::num::+}(t) as{TypeError} core::int*;
|
||||
static method Extension1|get#genericMethod(final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
static method Extension1|get#genericMethod(lowered final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
return <T extends core::num* = core::num*>(T* t) → core::int* => self::Extension1|genericMethod<T*>(#this, t);
|
||||
static method Extension2|get#field(final self::Class* #this) → core::int*
|
||||
static method Extension2|get#field(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field2};
|
||||
static method Extension2|set#field(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension2|set#field(lowered final self::Class* #this, core::int* value) → void {
|
||||
#this.{self::Class::field2} = value;
|
||||
}
|
||||
static method Extension2|method(final self::Class* #this) → core::int*
|
||||
static method Extension2|method(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field2};
|
||||
static method Extension2|get#method(final self::Class* #this) → () →* core::int*
|
||||
static method Extension2|get#method(lowered final self::Class* #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension2|method(#this);
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*>(final self::Class* #this, self::Extension2|genericMethod::T* t) → core::int*
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*>(lowered final self::Class* #this, self::Extension2|genericMethod::T* t) → core::int*
|
||||
return #this.{self::Class::field2}.{core::num::+}(t) as{TypeError} core::int*;
|
||||
static method Extension2|get#genericMethod(final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
static method Extension2|get#genericMethod(lowered final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
return <T extends core::num* = core::num*>(T* t) → core::int* => self::Extension2|genericMethod<T*>(#this, t);
|
||||
static method main() → dynamic {
|
||||
self::Class* c = new self::Class::•();
|
||||
|
||||
+12
-12
@@ -35,31 +35,31 @@ extension Extension2 on self::Class* {
|
||||
tearoff genericMethod = self::Extension2|get#genericMethod;
|
||||
set field = self::Extension2|set#field;
|
||||
}
|
||||
static method Extension1|get#field(final self::Class* #this) → core::int*
|
||||
static method Extension1|get#field(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field1};
|
||||
static method Extension1|set#field(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension1|set#field(lowered final self::Class* #this, core::int* value) → void {
|
||||
#this.{self::Class::field1} = value;
|
||||
}
|
||||
static method Extension1|method(final self::Class* #this) → core::int*
|
||||
static method Extension1|method(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field1};
|
||||
static method Extension1|get#method(final self::Class* #this) → () →* core::int*
|
||||
static method Extension1|get#method(lowered final self::Class* #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension1|method(#this);
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*>(final self::Class* #this, self::Extension1|genericMethod::T* t) → core::int*
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*>(lowered final self::Class* #this, self::Extension1|genericMethod::T* t) → core::int*
|
||||
return #this.{self::Class::field1}.{core::num::+}(t) as{TypeError} core::int*;
|
||||
static method Extension1|get#genericMethod(final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
static method Extension1|get#genericMethod(lowered final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
return <T extends core::num* = core::num*>(T* t) → core::int* => self::Extension1|genericMethod<T*>(#this, t);
|
||||
static method Extension2|get#field(final self::Class* #this) → core::int*
|
||||
static method Extension2|get#field(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field2};
|
||||
static method Extension2|set#field(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension2|set#field(lowered final self::Class* #this, core::int* value) → void {
|
||||
#this.{self::Class::field2} = value;
|
||||
}
|
||||
static method Extension2|method(final self::Class* #this) → core::int*
|
||||
static method Extension2|method(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field2};
|
||||
static method Extension2|get#method(final self::Class* #this) → () →* core::int*
|
||||
static method Extension2|get#method(lowered final self::Class* #this) → () →* core::int*
|
||||
return () → core::int* => self::Extension2|method(#this);
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*>(final self::Class* #this, self::Extension2|genericMethod::T* t) → core::int*
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*>(lowered final self::Class* #this, self::Extension2|genericMethod::T* t) → core::int*
|
||||
return #this.{self::Class::field2}.{core::num::+}(t) as{TypeError} core::int*;
|
||||
static method Extension2|get#genericMethod(final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
static method Extension2|get#genericMethod(lowered final self::Class* #this) → <T extends core::num* = core::num*>(T*) →* core::int*
|
||||
return <T extends core::num* = core::num*>(T* t) → core::int* => self::Extension2|genericMethod<T*>(#this, t);
|
||||
static method main() → dynamic {
|
||||
self::Class* c = new self::Class::•();
|
||||
|
||||
@@ -45,15 +45,15 @@ extension GenericExtension<T extends core::Object* = dynamic> on self::GenericCl
|
||||
method genericMethod1 = self::GenericExtension|genericMethod1;
|
||||
tearoff genericMethod1 = self::GenericExtension|get#genericMethod1;
|
||||
}
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
;
|
||||
static method GenericExtension|method<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|method::T*>* #this, self::GenericExtension|method::T* t) → self::GenericExtension|method::T*
|
||||
static method GenericExtension|method<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|method::T*>* #this, self::GenericExtension|method::T* t) → self::GenericExtension|method::T*
|
||||
;
|
||||
static method GenericExtension|get#method<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#method::T*>* #this) → (self::GenericExtension|get#method::T*) →* self::GenericExtension|get#method::T*
|
||||
static method GenericExtension|get#method<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#method::T*>* #this) → (self::GenericExtension|get#method::T*) →* self::GenericExtension|get#method::T*
|
||||
return (self::GenericExtension|get#method::T* t) → self::GenericExtension|get#method::T* => self::GenericExtension|method<self::GenericExtension|get#method::T*>(#this, t);
|
||||
static method GenericExtension|genericMethod1<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|genericMethod1::T*>* #this, self::GenericExtension|genericMethod1::S* s) → self::GenericExtension|genericMethod1::S*
|
||||
static method GenericExtension|genericMethod1<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericMethod1::T*>* #this, self::GenericExtension|genericMethod1::S* s) → self::GenericExtension|genericMethod1::S*
|
||||
;
|
||||
static method GenericExtension|get#genericMethod1<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericMethod1::T*>* #this) → <S extends core::Object* = dynamic>(S*) →* S*
|
||||
static method GenericExtension|get#genericMethod1<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericMethod1::T*>* #this) → <S extends core::Object* = dynamic>(S*) →* S*
|
||||
return <S extends core::Object* = dynamic>(S* s) → S* => self::GenericExtension|genericMethod1<self::GenericExtension|get#genericMethod1::T*, S*>(#this, s);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -49,15 +49,15 @@ extension GenericExtension<T extends core::Object* = dynamic> on self::GenericCl
|
||||
method genericMethod1 = self::GenericExtension|genericMethod1;
|
||||
tearoff genericMethod1 = self::GenericExtension|get#genericMethod1;
|
||||
}
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
return null;
|
||||
static method GenericExtension|method<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|method::T*>* #this, self::GenericExtension|method::T* t) → self::GenericExtension|method::T*
|
||||
static method GenericExtension|method<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|method::T*>* #this, self::GenericExtension|method::T* t) → self::GenericExtension|method::T*
|
||||
return null;
|
||||
static method GenericExtension|get#method<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#method::T*>* #this) → (self::GenericExtension|get#method::T*) →* self::GenericExtension|get#method::T*
|
||||
static method GenericExtension|get#method<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#method::T*>* #this) → (self::GenericExtension|get#method::T*) →* self::GenericExtension|get#method::T*
|
||||
return (self::GenericExtension|get#method::T* t) → self::GenericExtension|get#method::T* => self::GenericExtension|method<self::GenericExtension|get#method::T*>(#this, t);
|
||||
static method GenericExtension|genericMethod1<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|genericMethod1::T*>* #this, self::GenericExtension|genericMethod1::S* s) → self::GenericExtension|genericMethod1::S*
|
||||
static method GenericExtension|genericMethod1<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericMethod1::T*>* #this, self::GenericExtension|genericMethod1::S* s) → self::GenericExtension|genericMethod1::S*
|
||||
return null;
|
||||
static method GenericExtension|get#genericMethod1<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericMethod1::T*>* #this) → <S extends core::Object* = dynamic>(S*) →* S*
|
||||
static method GenericExtension|get#genericMethod1<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericMethod1::T*>* #this) → <S extends core::Object* = dynamic>(S*) →* S*
|
||||
return <S extends core::Object* = dynamic>(S* s) → S* => self::GenericExtension|genericMethod1<self::GenericExtension|get#genericMethod1::T*, S*>(#this, s);
|
||||
static method main() → dynamic {
|
||||
self::A* aVariable;
|
||||
|
||||
+5
-5
@@ -49,15 +49,15 @@ extension GenericExtension<T extends core::Object* = dynamic> on self::GenericCl
|
||||
method genericMethod1 = self::GenericExtension|genericMethod1;
|
||||
tearoff genericMethod1 = self::GenericExtension|get#genericMethod1;
|
||||
}
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
static method GenericExtension|get#property<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#property::T*>* #this) → self::GenericExtension|get#property::T*
|
||||
return null;
|
||||
static method GenericExtension|method<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|method::T*>* #this, self::GenericExtension|method::T* t) → self::GenericExtension|method::T*
|
||||
static method GenericExtension|method<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|method::T*>* #this, self::GenericExtension|method::T* t) → self::GenericExtension|method::T*
|
||||
return null;
|
||||
static method GenericExtension|get#method<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#method::T*>* #this) → (self::GenericExtension|get#method::T*) →* self::GenericExtension|get#method::T*
|
||||
static method GenericExtension|get#method<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#method::T*>* #this) → (self::GenericExtension|get#method::T*) →* self::GenericExtension|get#method::T*
|
||||
return (self::GenericExtension|get#method::T* t) → self::GenericExtension|get#method::T* => self::GenericExtension|method<self::GenericExtension|get#method::T*>(#this, t);
|
||||
static method GenericExtension|genericMethod1<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|genericMethod1::T*>* #this, self::GenericExtension|genericMethod1::S* s) → self::GenericExtension|genericMethod1::S*
|
||||
static method GenericExtension|genericMethod1<T extends core::Object* = dynamic, S extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericMethod1::T*>* #this, self::GenericExtension|genericMethod1::S* s) → self::GenericExtension|genericMethod1::S*
|
||||
return null;
|
||||
static method GenericExtension|get#genericMethod1<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|get#genericMethod1::T*>* #this) → <S extends core::Object* = dynamic>(S*) →* S*
|
||||
static method GenericExtension|get#genericMethod1<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericMethod1::T*>* #this) → <S extends core::Object* = dynamic>(S*) →* S*
|
||||
return <S extends core::Object* = dynamic>(S* s) → S* => self::GenericExtension|genericMethod1<self::GenericExtension|get#genericMethod1::T*, S*>(#this, s);
|
||||
static method main() → dynamic {
|
||||
self::A* aVariable;
|
||||
|
||||
+12
-12
@@ -36,29 +36,29 @@ extension Extension2<T extends core::num* = core::num*> on self::Class<T*>* {
|
||||
set field = self::Extension2|set#field;
|
||||
}
|
||||
static field core::String* Extension1|latestType;
|
||||
static method Extension1|get#field<T extends core::num* = core::num*>(final self::Class<self::Extension1|get#field::T*>* #this) → self::Extension1|get#field::T*
|
||||
static method Extension1|get#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|get#field::T*>* #this) → self::Extension1|get#field::T*
|
||||
;
|
||||
static method Extension1|set#field<T extends core::num* = core::num*>(final self::Class<self::Extension1|set#field::T*>* #this, self::Extension1|set#field::T* value) → void
|
||||
static method Extension1|set#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|set#field::T*>* #this, self::Extension1|set#field::T* value) → void
|
||||
;
|
||||
static method Extension1|method<T extends core::num* = core::num*>(final self::Class<self::Extension1|method::T*>* #this) → self::Extension1|method::T*
|
||||
static method Extension1|method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|method::T*>* #this) → self::Extension1|method::T*
|
||||
;
|
||||
static method Extension1|get#method<T extends core::num* = core::num*>(final self::Class<self::Extension1|get#method::T*>* #this) → () →* self::Extension1|get#method::T*
|
||||
static method Extension1|get#method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|get#method::T*>* #this) → () →* self::Extension1|get#method::T*
|
||||
return () → self::Extension1|get#method::T* => self::Extension1|method<self::Extension1|get#method::T*>(#this);
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(final self::Class<self::Extension1|genericMethod::T*>* #this, self::Extension1|genericMethod::S* t) → self::Extension1|genericMethod::T*
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(lowered final self::Class<self::Extension1|genericMethod::T*>* #this, self::Extension1|genericMethod::S* t) → self::Extension1|genericMethod::T*
|
||||
;
|
||||
static method Extension1|get#genericMethod<T extends core::num* = core::num*>(final self::Class<self::Extension1|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension1|get#genericMethod::T*
|
||||
static method Extension1|get#genericMethod<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension1|get#genericMethod::T*
|
||||
return <S extends core::num* = core::num*>(S* t) → self::Extension1|get#genericMethod::T* => self::Extension1|genericMethod<self::Extension1|get#genericMethod::T*, S*>(#this, t);
|
||||
static method Extension2|get#field<T extends core::num* = core::num*>(final self::Class<self::Extension2|get#field::T*>* #this) → self::Extension2|get#field::T*
|
||||
static method Extension2|get#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|get#field::T*>* #this) → self::Extension2|get#field::T*
|
||||
;
|
||||
static method Extension2|set#field<T extends core::num* = core::num*>(final self::Class<self::Extension2|set#field::T*>* #this, self::Extension2|set#field::T* value) → void
|
||||
static method Extension2|set#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|set#field::T*>* #this, self::Extension2|set#field::T* value) → void
|
||||
;
|
||||
static method Extension2|method<T extends core::num* = core::num*>(final self::Class<self::Extension2|method::T*>* #this) → self::Extension2|method::T*
|
||||
static method Extension2|method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|method::T*>* #this) → self::Extension2|method::T*
|
||||
;
|
||||
static method Extension2|get#method<T extends core::num* = core::num*>(final self::Class<self::Extension2|get#method::T*>* #this) → () →* self::Extension2|get#method::T*
|
||||
static method Extension2|get#method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|get#method::T*>* #this) → () →* self::Extension2|get#method::T*
|
||||
return () → self::Extension2|get#method::T* => self::Extension2|method<self::Extension2|get#method::T*>(#this);
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(final self::Class<self::Extension2|genericMethod::T*>* #this, self::Extension2|genericMethod::S* t) → self::Extension2|genericMethod::T*
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(lowered final self::Class<self::Extension2|genericMethod::T*>* #this, self::Extension2|genericMethod::S* t) → self::Extension2|genericMethod::T*
|
||||
;
|
||||
static method Extension2|get#genericMethod<T extends core::num* = core::num*>(final self::Class<self::Extension2|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension2|get#genericMethod::T*
|
||||
static method Extension2|get#genericMethod<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension2|get#genericMethod::T*
|
||||
return <S extends core::num* = core::num*>(S* t) → self::Extension2|get#genericMethod::T* => self::Extension2|genericMethod<self::Extension2|get#genericMethod::T*, S*>(#this, t);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
+12
-12
@@ -37,38 +37,38 @@ extension Extension2<T extends core::num* = core::num*> on self::Class<T*>* {
|
||||
set field = self::Extension2|set#field;
|
||||
}
|
||||
static field core::String* Extension1|latestType;
|
||||
static method Extension1|get#field<T extends core::num* = core::num*>(final self::Class<self::Extension1|get#field::T*>* #this) → self::Extension1|get#field::T* {
|
||||
static method Extension1|get#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|get#field::T*>* #this) → self::Extension1|get#field::T* {
|
||||
self::Extension1|latestType = "${self::Extension1|get#field::T*}";
|
||||
return #this.{self::Class::field1};
|
||||
}
|
||||
static method Extension1|set#field<T extends core::num* = core::num*>(final self::Class<self::Extension1|set#field::T*>* #this, self::Extension1|set#field::T* value) → void {
|
||||
static method Extension1|set#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|set#field::T*>* #this, self::Extension1|set#field::T* value) → void {
|
||||
self::Extension1|latestType = "${self::Extension1|set#field::T*}";
|
||||
#this.{self::Class::field1} = value;
|
||||
}
|
||||
static method Extension1|method<T extends core::num* = core::num*>(final self::Class<self::Extension1|method::T*>* #this) → self::Extension1|method::T* {
|
||||
static method Extension1|method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|method::T*>* #this) → self::Extension1|method::T* {
|
||||
self::Extension1|latestType = "${self::Extension1|method::T*}";
|
||||
return #this.{self::Class::field1};
|
||||
}
|
||||
static method Extension1|get#method<T extends core::num* = core::num*>(final self::Class<self::Extension1|get#method::T*>* #this) → () →* self::Extension1|get#method::T*
|
||||
static method Extension1|get#method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|get#method::T*>* #this) → () →* self::Extension1|get#method::T*
|
||||
return () → self::Extension1|get#method::T* => self::Extension1|method<self::Extension1|get#method::T*>(#this);
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(final self::Class<self::Extension1|genericMethod::T*>* #this, self::Extension1|genericMethod::S* t) → self::Extension1|genericMethod::T* {
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(lowered final self::Class<self::Extension1|genericMethod::T*>* #this, self::Extension1|genericMethod::S* t) → self::Extension1|genericMethod::T* {
|
||||
self::Extension1|latestType = "${self::Extension1|genericMethod::T*}:${self::Extension1|genericMethod::S*}";
|
||||
return #this.{self::Class::field1}.{core::num::+}(t) as{TypeError} self::Extension1|genericMethod::T*;
|
||||
}
|
||||
static method Extension1|get#genericMethod<T extends core::num* = core::num*>(final self::Class<self::Extension1|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension1|get#genericMethod::T*
|
||||
static method Extension1|get#genericMethod<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension1|get#genericMethod::T*
|
||||
return <S extends core::num* = core::num*>(S* t) → self::Extension1|get#genericMethod::T* => self::Extension1|genericMethod<self::Extension1|get#genericMethod::T*, S*>(#this, t);
|
||||
static method Extension2|get#field<T extends core::num* = core::num*>(final self::Class<self::Extension2|get#field::T*>* #this) → self::Extension2|get#field::T*
|
||||
static method Extension2|get#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|get#field::T*>* #this) → self::Extension2|get#field::T*
|
||||
return #this.{self::Class::field2};
|
||||
static method Extension2|set#field<T extends core::num* = core::num*>(final self::Class<self::Extension2|set#field::T*>* #this, self::Extension2|set#field::T* value) → void {
|
||||
static method Extension2|set#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|set#field::T*>* #this, self::Extension2|set#field::T* value) → void {
|
||||
#this.{self::Class::field2} = value;
|
||||
}
|
||||
static method Extension2|method<T extends core::num* = core::num*>(final self::Class<self::Extension2|method::T*>* #this) → self::Extension2|method::T*
|
||||
static method Extension2|method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|method::T*>* #this) → self::Extension2|method::T*
|
||||
return #this.{self::Class::field2};
|
||||
static method Extension2|get#method<T extends core::num* = core::num*>(final self::Class<self::Extension2|get#method::T*>* #this) → () →* self::Extension2|get#method::T*
|
||||
static method Extension2|get#method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|get#method::T*>* #this) → () →* self::Extension2|get#method::T*
|
||||
return () → self::Extension2|get#method::T* => self::Extension2|method<self::Extension2|get#method::T*>(#this);
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(final self::Class<self::Extension2|genericMethod::T*>* #this, self::Extension2|genericMethod::S* t) → self::Extension2|genericMethod::T*
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(lowered final self::Class<self::Extension2|genericMethod::T*>* #this, self::Extension2|genericMethod::S* t) → self::Extension2|genericMethod::T*
|
||||
return #this.{self::Class::field2}.{core::num::+}(t) as{TypeError} self::Extension2|genericMethod::T*;
|
||||
static method Extension2|get#genericMethod<T extends core::num* = core::num*>(final self::Class<self::Extension2|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension2|get#genericMethod::T*
|
||||
static method Extension2|get#genericMethod<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension2|get#genericMethod::T*
|
||||
return <S extends core::num* = core::num*>(S* t) → self::Extension2|get#genericMethod::T* => self::Extension2|genericMethod<self::Extension2|get#genericMethod::T*, S*>(#this, t);
|
||||
static method main() → dynamic {
|
||||
self::Class<core::int*>* c = new self::Class::•<core::int*>(42, 87);
|
||||
|
||||
+12
-12
@@ -37,38 +37,38 @@ extension Extension2<T extends core::num* = core::num*> on self::Class<T*>* {
|
||||
set field = self::Extension2|set#field;
|
||||
}
|
||||
static field core::String* Extension1|latestType;
|
||||
static method Extension1|get#field<T extends core::num* = core::num*>(final self::Class<self::Extension1|get#field::T*>* #this) → self::Extension1|get#field::T* {
|
||||
static method Extension1|get#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|get#field::T*>* #this) → self::Extension1|get#field::T* {
|
||||
self::Extension1|latestType = "${self::Extension1|get#field::T*}";
|
||||
return #this.{self::Class::field1};
|
||||
}
|
||||
static method Extension1|set#field<T extends core::num* = core::num*>(final self::Class<self::Extension1|set#field::T*>* #this, self::Extension1|set#field::T* value) → void {
|
||||
static method Extension1|set#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|set#field::T*>* #this, self::Extension1|set#field::T* value) → void {
|
||||
self::Extension1|latestType = "${self::Extension1|set#field::T*}";
|
||||
#this.{self::Class::field1} = value;
|
||||
}
|
||||
static method Extension1|method<T extends core::num* = core::num*>(final self::Class<self::Extension1|method::T*>* #this) → self::Extension1|method::T* {
|
||||
static method Extension1|method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|method::T*>* #this) → self::Extension1|method::T* {
|
||||
self::Extension1|latestType = "${self::Extension1|method::T*}";
|
||||
return #this.{self::Class::field1};
|
||||
}
|
||||
static method Extension1|get#method<T extends core::num* = core::num*>(final self::Class<self::Extension1|get#method::T*>* #this) → () →* self::Extension1|get#method::T*
|
||||
static method Extension1|get#method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|get#method::T*>* #this) → () →* self::Extension1|get#method::T*
|
||||
return () → self::Extension1|get#method::T* => self::Extension1|method<self::Extension1|get#method::T*>(#this);
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(final self::Class<self::Extension1|genericMethod::T*>* #this, self::Extension1|genericMethod::S* t) → self::Extension1|genericMethod::T* {
|
||||
static method Extension1|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(lowered final self::Class<self::Extension1|genericMethod::T*>* #this, self::Extension1|genericMethod::S* t) → self::Extension1|genericMethod::T* {
|
||||
self::Extension1|latestType = "${self::Extension1|genericMethod::T*}:${self::Extension1|genericMethod::S*}";
|
||||
return #this.{self::Class::field1}.{core::num::+}(t) as{TypeError} self::Extension1|genericMethod::T*;
|
||||
}
|
||||
static method Extension1|get#genericMethod<T extends core::num* = core::num*>(final self::Class<self::Extension1|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension1|get#genericMethod::T*
|
||||
static method Extension1|get#genericMethod<T extends core::num* = core::num*>(lowered final self::Class<self::Extension1|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension1|get#genericMethod::T*
|
||||
return <S extends core::num* = core::num*>(S* t) → self::Extension1|get#genericMethod::T* => self::Extension1|genericMethod<self::Extension1|get#genericMethod::T*, S*>(#this, t);
|
||||
static method Extension2|get#field<T extends core::num* = core::num*>(final self::Class<self::Extension2|get#field::T*>* #this) → self::Extension2|get#field::T*
|
||||
static method Extension2|get#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|get#field::T*>* #this) → self::Extension2|get#field::T*
|
||||
return #this.{self::Class::field2};
|
||||
static method Extension2|set#field<T extends core::num* = core::num*>(final self::Class<self::Extension2|set#field::T*>* #this, self::Extension2|set#field::T* value) → void {
|
||||
static method Extension2|set#field<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|set#field::T*>* #this, self::Extension2|set#field::T* value) → void {
|
||||
#this.{self::Class::field2} = value;
|
||||
}
|
||||
static method Extension2|method<T extends core::num* = core::num*>(final self::Class<self::Extension2|method::T*>* #this) → self::Extension2|method::T*
|
||||
static method Extension2|method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|method::T*>* #this) → self::Extension2|method::T*
|
||||
return #this.{self::Class::field2};
|
||||
static method Extension2|get#method<T extends core::num* = core::num*>(final self::Class<self::Extension2|get#method::T*>* #this) → () →* self::Extension2|get#method::T*
|
||||
static method Extension2|get#method<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|get#method::T*>* #this) → () →* self::Extension2|get#method::T*
|
||||
return () → self::Extension2|get#method::T* => self::Extension2|method<self::Extension2|get#method::T*>(#this);
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(final self::Class<self::Extension2|genericMethod::T*>* #this, self::Extension2|genericMethod::S* t) → self::Extension2|genericMethod::T*
|
||||
static method Extension2|genericMethod<T extends core::num* = core::num*, S extends core::num* = core::num*>(lowered final self::Class<self::Extension2|genericMethod::T*>* #this, self::Extension2|genericMethod::S* t) → self::Extension2|genericMethod::T*
|
||||
return #this.{self::Class::field2}.{core::num::+}(t) as{TypeError} self::Extension2|genericMethod::T*;
|
||||
static method Extension2|get#genericMethod<T extends core::num* = core::num*>(final self::Class<self::Extension2|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension2|get#genericMethod::T*
|
||||
static method Extension2|get#genericMethod<T extends core::num* = core::num*>(lowered final self::Class<self::Extension2|get#genericMethod::T*>* #this) → <S extends core::num* = core::num*>(S*) →* self::Extension2|get#genericMethod::T*
|
||||
return <S extends core::num* = core::num*>(S* t) → self::Extension2|get#genericMethod::T* => self::Extension2|genericMethod<self::Extension2|get#genericMethod::T*, S*>(#this, t);
|
||||
static method main() → dynamic {
|
||||
self::Class<core::int*>* c = new self::Class::•<core::int*>(42, 87);
|
||||
|
||||
@@ -27,17 +27,17 @@ extension A2 on self::A1* {
|
||||
method method4 = self::A2|method4;
|
||||
tearoff method4 = self::A2|get#method4;
|
||||
}
|
||||
static method A2|method2(final self::A1* #this) → void
|
||||
static method A2|method2(lowered final self::A1* #this) → void
|
||||
;
|
||||
static method A2|get#method2(final self::A1* #this) → () →* void
|
||||
static method A2|get#method2(lowered final self::A1* #this) → () →* void
|
||||
return () → void => self::A2|method2(#this);
|
||||
static method A2|method3(final self::A1* #this) → core::Object*
|
||||
static method A2|method3(lowered final self::A1* #this) → core::Object*
|
||||
;
|
||||
static method A2|get#method3(final self::A1* #this) → () →* core::Object*
|
||||
static method A2|get#method3(lowered final self::A1* #this) → () →* core::Object*
|
||||
return () → core::Object* => self::A2|method3(#this);
|
||||
static method A2|method4(final self::A1* #this, core::Object* o) → void
|
||||
static method A2|method4(lowered final self::A1* #this, core::Object* o) → void
|
||||
;
|
||||
static method A2|get#method4(final self::A1* #this) → (core::Object*) →* void
|
||||
static method A2|get#method4(lowered final self::A1* #this) → (core::Object*) →* void
|
||||
return (core::Object* o) → void => self::A2|method4(#this, o);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -27,17 +27,17 @@ extension A2 on self::A1* {
|
||||
method method4 = self::A2|method4;
|
||||
tearoff method4 = self::A2|get#method4;
|
||||
}
|
||||
static method A2|method2(final self::A1* #this) → void
|
||||
static method A2|method2(lowered final self::A1* #this) → void
|
||||
return #this.{self::A1::method1}();
|
||||
static method A2|get#method2(final self::A1* #this) → () →* void
|
||||
static method A2|get#method2(lowered final self::A1* #this) → () →* void
|
||||
return () → void => self::A2|method2(#this);
|
||||
static method A2|method3(final self::A1* #this) → core::Object*
|
||||
static method A2|method3(lowered final self::A1* #this) → core::Object*
|
||||
return #this.{self::A1::field};
|
||||
static method A2|get#method3(final self::A1* #this) → () →* core::Object*
|
||||
static method A2|get#method3(lowered final self::A1* #this) → () →* core::Object*
|
||||
return () → core::Object* => self::A2|method3(#this);
|
||||
static method A2|method4(final self::A1* #this, core::Object* o) → void {
|
||||
static method A2|method4(lowered final self::A1* #this, core::Object* o) → void {
|
||||
#this.{self::A1::field} = o;
|
||||
}
|
||||
static method A2|get#method4(final self::A1* #this) → (core::Object*) →* void
|
||||
static method A2|get#method4(lowered final self::A1* #this) → (core::Object*) →* void
|
||||
return (core::Object* o) → void => self::A2|method4(#this, o);
|
||||
static method main() → dynamic {}
|
||||
|
||||
@@ -27,17 +27,17 @@ extension A2 on self::A1* {
|
||||
method method4 = self::A2|method4;
|
||||
tearoff method4 = self::A2|get#method4;
|
||||
}
|
||||
static method A2|method2(final self::A1* #this) → void
|
||||
static method A2|method2(lowered final self::A1* #this) → void
|
||||
return #this.{self::A1::method1}();
|
||||
static method A2|get#method2(final self::A1* #this) → () →* void
|
||||
static method A2|get#method2(lowered final self::A1* #this) → () →* void
|
||||
return () → void => self::A2|method2(#this);
|
||||
static method A2|method3(final self::A1* #this) → core::Object*
|
||||
static method A2|method3(lowered final self::A1* #this) → core::Object*
|
||||
return #this.{self::A1::field};
|
||||
static method A2|get#method3(final self::A1* #this) → () →* core::Object*
|
||||
static method A2|get#method3(lowered final self::A1* #this) → () →* core::Object*
|
||||
return () → core::Object* => self::A2|method3(#this);
|
||||
static method A2|method4(final self::A1* #this, core::Object* o) → void {
|
||||
static method A2|method4(lowered final self::A1* #this, core::Object* o) → void {
|
||||
#this.{self::A1::field} = o;
|
||||
}
|
||||
static method A2|get#method4(final self::A1* #this) → (core::Object*) →* void
|
||||
static method A2|get#method4(lowered final self::A1* #this) → (core::Object*) →* void
|
||||
return (core::Object* o) → void => self::A2|method4(#this, o);
|
||||
static method main() → dynamic {}
|
||||
|
||||
@@ -33,13 +33,13 @@ extension Extension on core::int* {
|
||||
static field core::int* Extension|staticField;
|
||||
static final field core::int* Extension|staticFinalField;
|
||||
static const field core::int* Extension|staticConstField = #C1;
|
||||
static method Extension|get#instanceProperty(final core::int* #this) → core::int*
|
||||
static method Extension|get#instanceProperty(lowered final core::int* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#instanceProperty(final core::int* #this, core::int* value) → void
|
||||
static method Extension|set#instanceProperty(lowered final core::int* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|instanceMethod(final core::int* #this) → void
|
||||
static method Extension|instanceMethod(lowered final core::int* #this) → void
|
||||
;
|
||||
static method Extension|get#instanceMethod(final core::int* #this) → () →* void
|
||||
static method Extension|get#instanceMethod(lowered final core::int* #this) → () →* void
|
||||
return () → void => mai::Extension|instanceMethod(#this);
|
||||
static get Extension|staticProperty() → core::int*
|
||||
;
|
||||
|
||||
@@ -43,11 +43,11 @@ extension Extension on core::int* {
|
||||
static field core::int* Extension|staticField = 42;
|
||||
static final field core::int* Extension|staticFinalField = 42;
|
||||
static const field core::int* Extension|staticConstField = #C1;
|
||||
static method Extension|get#instanceProperty(final core::int* #this) → core::int*
|
||||
static method Extension|get#instanceProperty(lowered final core::int* #this) → core::int*
|
||||
return 42;
|
||||
static method Extension|set#instanceProperty(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|instanceMethod(final core::int* #this) → void {}
|
||||
static method Extension|get#instanceMethod(final core::int* #this) → () →* void
|
||||
static method Extension|set#instanceProperty(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|instanceMethod(lowered final core::int* #this) → void {}
|
||||
static method Extension|get#instanceMethod(lowered final core::int* #this) → () →* void
|
||||
return () → void => mai::Extension|instanceMethod(#this);
|
||||
static get Extension|staticProperty() → core::int*
|
||||
return 42;
|
||||
|
||||
+4
-4
@@ -43,11 +43,11 @@ extension Extension on core::int* {
|
||||
static field core::int* Extension|staticField = 42;
|
||||
static final field core::int* Extension|staticFinalField = 42;
|
||||
static const field core::int* Extension|staticConstField = #C1;
|
||||
static method Extension|get#instanceProperty(final core::int* #this) → core::int*
|
||||
static method Extension|get#instanceProperty(lowered final core::int* #this) → core::int*
|
||||
return 42;
|
||||
static method Extension|set#instanceProperty(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|instanceMethod(final core::int* #this) → void {}
|
||||
static method Extension|get#instanceMethod(final core::int* #this) → () →* void
|
||||
static method Extension|set#instanceProperty(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|instanceMethod(lowered final core::int* #this) → void {}
|
||||
static method Extension|get#instanceMethod(lowered final core::int* #this) → () →* void
|
||||
return () → void => mai::Extension|instanceMethod(#this);
|
||||
static get Extension|staticProperty() → core::int*
|
||||
return 42;
|
||||
|
||||
@@ -29,9 +29,9 @@ extension Extension on self2::Class* {
|
||||
method method = self2::Extension|method;
|
||||
tearoff method = self2::Extension|get#method;
|
||||
}
|
||||
static method Extension|method(final self2::Class* #this) → dynamic
|
||||
static method Extension|method(lowered final self2::Class* #this) → dynamic
|
||||
;
|
||||
static method Extension|get#method(final self2::Class* #this) → () →* dynamic
|
||||
static method Extension|get#method(lowered final self2::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self2::Extension|method(#this);
|
||||
|
||||
library;
|
||||
|
||||
@@ -32,8 +32,8 @@ extension Extension on exp::Class* {
|
||||
method method = exp::Extension|method;
|
||||
tearoff method = exp::Extension|get#method;
|
||||
}
|
||||
static method Extension|method(final exp::Class* #this) → dynamic {}
|
||||
static method Extension|get#method(final exp::Class* #this) → () →* dynamic
|
||||
static method Extension|method(lowered final exp::Class* #this) → dynamic {}
|
||||
static method Extension|get#method(lowered final exp::Class* #this) → () →* dynamic
|
||||
return () → dynamic => exp::Extension|method(#this);
|
||||
|
||||
library;
|
||||
|
||||
@@ -32,8 +32,8 @@ extension Extension on exp::Class* {
|
||||
method method = exp::Extension|method;
|
||||
tearoff method = exp::Extension|get#method;
|
||||
}
|
||||
static method Extension|method(final exp::Class* #this) → dynamic {}
|
||||
static method Extension|get#method(final exp::Class* #this) → () →* dynamic
|
||||
static method Extension|method(lowered final exp::Class* #this) → dynamic {}
|
||||
static method Extension|get#method(lowered final exp::Class* #this) → () →* dynamic
|
||||
return () → dynamic => exp::Extension|method(#this);
|
||||
|
||||
library;
|
||||
|
||||
@@ -22,9 +22,9 @@ extension Extension<T extends core::Object* = dynamic> on self::Class<T*>* {
|
||||
method call = self::Extension|call;
|
||||
tearoff call = self::Extension|get#call;
|
||||
}
|
||||
static method Extension|call<T extends core::Object* = dynamic>(final self::Class<self::Extension|call::T*>* #this, self::Extension|call::T* a) → self::Extension|call::T*
|
||||
static method Extension|call<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|call::T*>* #this, self::Extension|call::T* a) → self::Extension|call::T*
|
||||
;
|
||||
static method Extension|get#call<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#call::T*>* #this) → (self::Extension|get#call::T*) →* self::Extension|get#call::T*
|
||||
static method Extension|get#call<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#call::T*>* #this) → (self::Extension|get#call::T*) →* self::Extension|get#call::T*
|
||||
return (self::Extension|get#call::T* a) → self::Extension|get#call::T* => self::Extension|call<self::Extension|get#call::T*>(#this, a);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -23,9 +23,9 @@ extension Extension<T extends core::Object* = dynamic> on self::Class<T*>* {
|
||||
method call = self::Extension|call;
|
||||
tearoff call = self::Extension|get#call;
|
||||
}
|
||||
static method Extension|call<T extends core::Object* = dynamic>(final self::Class<self::Extension|call::T*>* #this, self::Extension|call::T* a) → self::Extension|call::T*
|
||||
static method Extension|call<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|call::T*>* #this, self::Extension|call::T* a) → self::Extension|call::T*
|
||||
return #this.{self::Class::method}(a);
|
||||
static method Extension|get#call<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#call::T*>* #this) → (self::Extension|get#call::T*) →* self::Extension|get#call::T*
|
||||
static method Extension|get#call<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#call::T*>* #this) → (self::Extension|get#call::T*) →* self::Extension|get#call::T*
|
||||
return (self::Extension|get#call::T* a) → self::Extension|get#call::T* => self::Extension|call<self::Extension|get#call::T*>(#this, a);
|
||||
static method main() → dynamic {
|
||||
self::Class<core::int*>* c = new self::Class::•<core::int*>();
|
||||
|
||||
@@ -23,9 +23,9 @@ extension Extension<T extends core::Object* = dynamic> on self::Class<T*>* {
|
||||
method call = self::Extension|call;
|
||||
tearoff call = self::Extension|get#call;
|
||||
}
|
||||
static method Extension|call<T extends core::Object* = dynamic>(final self::Class<self::Extension|call::T*>* #this, self::Extension|call::T* a) → self::Extension|call::T*
|
||||
static method Extension|call<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|call::T*>* #this, self::Extension|call::T* a) → self::Extension|call::T*
|
||||
return #this.{self::Class::method}(a);
|
||||
static method Extension|get#call<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#call::T*>* #this) → (self::Extension|get#call::T*) →* self::Extension|get#call::T*
|
||||
static method Extension|get#call<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#call::T*>* #this) → (self::Extension|get#call::T*) →* self::Extension|get#call::T*
|
||||
return (self::Extension|get#call::T* a) → self::Extension|get#call::T* => self::Extension|call<self::Extension|get#call::T*>(#this, a);
|
||||
static method main() → dynamic {
|
||||
self::Class<core::int*>* c = new self::Class::•<core::int*>();
|
||||
|
||||
@@ -57,9 +57,9 @@ extension Extension on self::Class* {
|
||||
method method = self::Extension|method;
|
||||
tearoff method = self::Extension|get#method;
|
||||
}
|
||||
static method Extension|method(final self::Class* #this) → dynamic
|
||||
static method Extension|method(lowered final self::Class* #this) → dynamic
|
||||
;
|
||||
static method Extension|get#method(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|get#method(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|method(#this);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -58,7 +58,7 @@ extension Extension on self::Class* {
|
||||
method method = self::Extension|method;
|
||||
tearoff method = self::Extension|get#method;
|
||||
}
|
||||
static method Extension|method(final self::Class* #this) → dynamic {}
|
||||
static method Extension|get#method(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|method(lowered final self::Class* #this) → dynamic {}
|
||||
static method Extension|get#method(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|method(#this);
|
||||
static method main() → dynamic {}
|
||||
|
||||
+2
-2
@@ -58,7 +58,7 @@ extension Extension on self::Class* {
|
||||
method method = self::Extension|method;
|
||||
tearoff method = self::Extension|get#method;
|
||||
}
|
||||
static method Extension|method(final self::Class* #this) → dynamic {}
|
||||
static method Extension|get#method(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|method(lowered final self::Class* #this) → dynamic {}
|
||||
static method Extension|get#method(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|method(#this);
|
||||
static method main() → dynamic {}
|
||||
|
||||
@@ -169,13 +169,13 @@ extension Extension<T extends core::Object* = dynamic> on core::int* {
|
||||
set instanceSetterAndStaticField = self::Extension|set#instanceSetterAndStaticField;
|
||||
}
|
||||
static field core::int* Extension|duplicateStaticField;
|
||||
static method Extension|get#duplicateInstanceGetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#duplicateInstanceGetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#duplicateInstanceSetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void
|
||||
static method Extension|set#duplicateInstanceSetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|duplicateInstanceMethod<T extends core::Object* = dynamic>(final core::int* #this) → void
|
||||
static method Extension|duplicateInstanceMethod<T extends core::Object* = dynamic>(lowered final core::int* #this) → void
|
||||
;
|
||||
static method Extension|get#duplicateInstanceMethod<T extends core::Object* = dynamic>(final core::int* #this) → () →* void
|
||||
static method Extension|get#duplicateInstanceMethod<T extends core::Object* = dynamic>(lowered final core::int* #this) → () →* void
|
||||
return () → void => self::Extension|duplicateInstanceMethod<self::Extension|get#duplicateInstanceMethod::T*>(#this);
|
||||
static get Extension|duplicateStaticGetter() → core::int*
|
||||
;
|
||||
@@ -183,17 +183,17 @@ static set Extension|duplicateStaticSetter(core::int* value) → void
|
||||
;
|
||||
static method Extension|duplicateStaticMethod() → void
|
||||
;
|
||||
static method Extension|get#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void
|
||||
static method Extension|set#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|get#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void
|
||||
static method Extension|set#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|get#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void
|
||||
static method Extension|set#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void
|
||||
;
|
||||
static get Extension|duplicateStaticGetterPlusSetter() → core::int*
|
||||
;
|
||||
@@ -207,17 +207,17 @@ static get Extension|duplicateStaticGetterAndSetter() → core::int*
|
||||
;
|
||||
static set Extension|duplicateStaticGetterAndSetter(core::int* value) → void
|
||||
;
|
||||
static method Extension|get#instanceGetterAndStaticSetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#instanceGetterAndStaticSetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
;
|
||||
static set Extension|instanceGetterAndStaticSetter(core::int* value) → void
|
||||
;
|
||||
static get Extension|instanceSetterAndStaticGetter() → core::int*
|
||||
;
|
||||
static method Extension|set#instanceSetterAndStaticGetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void
|
||||
static method Extension|set#instanceSetterAndStaticGetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|get#instanceGetterAndStaticField<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#instanceGetterAndStaticField<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#instanceSetterAndStaticField<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void
|
||||
static method Extension|set#instanceSetterAndStaticField<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void
|
||||
;
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -169,25 +169,25 @@ extension Extension<T extends core::Object* = dynamic> on core::int* {
|
||||
set instanceSetterAndStaticField = self::Extension|set#instanceSetterAndStaticField;
|
||||
}
|
||||
static field core::int* Extension|duplicateStaticField;
|
||||
static method Extension|get#duplicateInstanceGetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#duplicateInstanceGetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension|set#duplicateInstanceSetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|duplicateInstanceMethod<T extends core::Object* = dynamic>(final core::int* #this) → void {}
|
||||
static method Extension|get#duplicateInstanceMethod<T extends core::Object* = dynamic>(final core::int* #this) → () →* void
|
||||
static method Extension|set#duplicateInstanceSetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|duplicateInstanceMethod<T extends core::Object* = dynamic>(lowered final core::int* #this) → void {}
|
||||
static method Extension|get#duplicateInstanceMethod<T extends core::Object* = dynamic>(lowered final core::int* #this) → () →* void
|
||||
return () → void => self::Extension|duplicateInstanceMethod<self::Extension|get#duplicateInstanceMethod::T*>(#this);
|
||||
static get Extension|duplicateStaticGetter() → core::int*
|
||||
return 0;
|
||||
static set Extension|duplicateStaticSetter(core::int* value) → void {}
|
||||
static method Extension|duplicateStaticMethod() → void {}
|
||||
static method Extension|get#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension|set#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|set#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension|set#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|set#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension|set#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|set#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static get Extension|duplicateStaticGetterPlusSetter() → core::int*
|
||||
return 0;
|
||||
static set Extension|duplicateStaticGetterPlusSetter(core::int* value) → void {}
|
||||
@@ -197,13 +197,13 @@ static set Extension|duplicateStaticSetterPlusGetter(core::int* value) → void
|
||||
static get Extension|duplicateStaticGetterAndSetter() → core::int*
|
||||
return 0;
|
||||
static set Extension|duplicateStaticGetterAndSetter(core::int* value) → void {}
|
||||
static method Extension|get#instanceGetterAndStaticSetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#instanceGetterAndStaticSetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static set Extension|instanceGetterAndStaticSetter(core::int* value) → void {}
|
||||
static get Extension|instanceSetterAndStaticGetter() → core::int*
|
||||
return 0;
|
||||
static method Extension|set#instanceSetterAndStaticGetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#instanceGetterAndStaticField<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|set#instanceSetterAndStaticGetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#instanceGetterAndStaticField<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension|set#instanceSetterAndStaticField<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|set#instanceSetterAndStaticField<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method main() → dynamic {}
|
||||
|
||||
+14
-14
@@ -169,25 +169,25 @@ extension Extension<T extends core::Object* = dynamic> on core::int* {
|
||||
set instanceSetterAndStaticField = self::Extension|set#instanceSetterAndStaticField;
|
||||
}
|
||||
static field core::int* Extension|duplicateStaticField;
|
||||
static method Extension|get#duplicateInstanceGetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#duplicateInstanceGetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension|set#duplicateInstanceSetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|duplicateInstanceMethod<T extends core::Object* = dynamic>(final core::int* #this) → void {}
|
||||
static method Extension|get#duplicateInstanceMethod<T extends core::Object* = dynamic>(final core::int* #this) → () →* void
|
||||
static method Extension|set#duplicateInstanceSetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|duplicateInstanceMethod<T extends core::Object* = dynamic>(lowered final core::int* #this) → void {}
|
||||
static method Extension|get#duplicateInstanceMethod<T extends core::Object* = dynamic>(lowered final core::int* #this) → () →* void
|
||||
return () → void => self::Extension|duplicateInstanceMethod<self::Extension|get#duplicateInstanceMethod::T*>(#this);
|
||||
static get Extension|duplicateStaticGetter() → core::int*
|
||||
return 0;
|
||||
static set Extension|duplicateStaticSetter(core::int* value) → void {}
|
||||
static method Extension|duplicateStaticMethod() → void {}
|
||||
static method Extension|get#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension|set#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|set#duplicateInstanceGetterPlusSetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension|set#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|set#duplicateInstanceSetterPlusGetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension|set#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|set#duplicateInstanceGetterAndSetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static get Extension|duplicateStaticGetterPlusSetter() → core::int*
|
||||
return 0;
|
||||
static set Extension|duplicateStaticGetterPlusSetter(core::int* value) → void {}
|
||||
@@ -197,13 +197,13 @@ static set Extension|duplicateStaticSetterPlusGetter(core::int* value) → void
|
||||
static get Extension|duplicateStaticGetterAndSetter() → core::int*
|
||||
return 0;
|
||||
static set Extension|duplicateStaticGetterAndSetter(core::int* value) → void {}
|
||||
static method Extension|get#instanceGetterAndStaticSetter<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|get#instanceGetterAndStaticSetter<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static set Extension|instanceGetterAndStaticSetter(core::int* value) → void {}
|
||||
static get Extension|instanceSetterAndStaticGetter() → core::int*
|
||||
return 0;
|
||||
static method Extension|set#instanceSetterAndStaticGetter<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#instanceGetterAndStaticField<T extends core::Object* = dynamic>(final core::int* #this) → core::int*
|
||||
static method Extension|set#instanceSetterAndStaticGetter<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|get#instanceGetterAndStaticField<T extends core::Object* = dynamic>(lowered final core::int* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension|set#instanceSetterAndStaticField<T extends core::Object* = dynamic>(final core::int* #this, core::int* value) → void {}
|
||||
static method Extension|set#instanceSetterAndStaticField<T extends core::Object* = dynamic>(lowered final core::int* #this, core::int* value) → void {}
|
||||
static method main() → dynamic {}
|
||||
|
||||
@@ -23,7 +23,7 @@ class C extends core::Object {
|
||||
extension E on self::C* {
|
||||
get two = self::E|get#two;
|
||||
}
|
||||
static method E|get#two(final self::C* #this) → core::int*
|
||||
static method E|get#two(lowered final self::C* #this) → core::int*
|
||||
;
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -25,7 +25,7 @@ class C extends core::Object {
|
||||
extension E on self::C* {
|
||||
get two = self::E|get#two;
|
||||
}
|
||||
static method E|get#two(final self::C* #this) → core::int*
|
||||
static method E|get#two(lowered final self::C* #this) → core::int*
|
||||
return 2;
|
||||
static method main() → dynamic {
|
||||
self::C* c = new self::C::•();
|
||||
|
||||
@@ -25,7 +25,7 @@ class C extends core::Object {
|
||||
extension E on self::C* {
|
||||
get two = self::E|get#two;
|
||||
}
|
||||
static method E|get#two(final self::C* #this) → core::int*
|
||||
static method E|get#two(lowered final self::C* #this) → core::int*
|
||||
return 2;
|
||||
static method main() → dynamic {
|
||||
self::C* c = new self::C::•();
|
||||
|
||||
@@ -46,27 +46,27 @@ extension Extension on self::Class* {
|
||||
extension GenericExtension<T extends core::Object* = dynamic> on self::GenericClass<T*>* {
|
||||
set setter = self::GenericExtension|set#setter;
|
||||
}
|
||||
static method Extension|get#simpleSetter(final self::Class* #this) → core::int*
|
||||
static method Extension|get#simpleSetter(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#simpleSetter(final self::Class* #this, core::int* value) → void
|
||||
static method Extension|set#simpleSetter(lowered final self::Class* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|get#mutatingSetter(final self::Class* #this) → core::int*
|
||||
static method Extension|get#mutatingSetter(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#mutatingSetter(final self::Class* #this, core::int* value) → void
|
||||
static method Extension|set#mutatingSetter(lowered final self::Class* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|get#setterWithReturn(final self::Class* #this) → core::int*
|
||||
static method Extension|get#setterWithReturn(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#setterWithReturn(final self::Class* #this, core::int* value) → void
|
||||
static method Extension|set#setterWithReturn(lowered final self::Class* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|get#setterWithClosure(final self::Class* #this) → core::int*
|
||||
static method Extension|get#setterWithClosure(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method Extension|set#setterWithClosure(final self::Class* #this, core::int* value) → void
|
||||
static method Extension|set#setterWithClosure(lowered final self::Class* #this, core::int* value) → void
|
||||
;
|
||||
static method Extension|testInternal(final self::Class* #this) → dynamic
|
||||
static method Extension|testInternal(lowered final self::Class* #this) → dynamic
|
||||
;
|
||||
static method Extension|get#testInternal(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|get#testInternal(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|testInternal(#this);
|
||||
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void
|
||||
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void
|
||||
;
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -48,35 +48,35 @@ extension Extension on self::Class* {
|
||||
extension GenericExtension<T extends core::Object* = dynamic> on self::GenericClass<T*>* {
|
||||
set setter = self::GenericExtension|set#setter;
|
||||
}
|
||||
static method Extension|get#simpleSetter(final self::Class* #this) → core::int*
|
||||
static method Extension|get#simpleSetter(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field};
|
||||
static method Extension|set#simpleSetter(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension|set#simpleSetter(lowered final self::Class* #this, core::int* value) → void {
|
||||
#this.{self::Class::field} = value;
|
||||
}
|
||||
static method Extension|get#mutatingSetter(final self::Class* #this) → core::int*
|
||||
static method Extension|get#mutatingSetter(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field};
|
||||
static method Extension|set#mutatingSetter(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension|set#mutatingSetter(lowered final self::Class* #this, core::int* value) → void {
|
||||
value = value.{core::num::+}(1);
|
||||
#this.{self::Class::field} = value;
|
||||
}
|
||||
static method Extension|get#setterWithReturn(final self::Class* #this) → core::int*
|
||||
static method Extension|get#setterWithReturn(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field};
|
||||
static method Extension|set#setterWithReturn(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension|set#setterWithReturn(lowered final self::Class* #this, core::int* value) → void {
|
||||
if(value.{core::num::<}(0)) {
|
||||
#this.{self::Class::field} = value.{core::int::unary-}();
|
||||
return;
|
||||
}
|
||||
#this.{self::Class::field} = value;
|
||||
}
|
||||
static method Extension|get#setterWithClosure(final self::Class* #this) → core::int*
|
||||
static method Extension|get#setterWithClosure(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field};
|
||||
static method Extension|set#setterWithClosure(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension|set#setterWithClosure(lowered final self::Class* #this, core::int* value) → void {
|
||||
function abs(dynamic value) → dynamic {
|
||||
return value.<(0) as{TypeError,ForDynamic} core::bool* ?{dynamic} value.unary-() : value;
|
||||
}
|
||||
#this.{self::Class::field} = abs.call(value) as{TypeError,ForDynamic} core::int*;
|
||||
}
|
||||
static method Extension|testInternal(final self::Class* #this) → dynamic {
|
||||
static method Extension|testInternal(lowered final self::Class* #this) → dynamic {
|
||||
self::expect(null, #this.{self::Class::field});
|
||||
self::Extension|set#simpleSetter(#this, 0);
|
||||
self::expect(0, #this.{self::Class::field});
|
||||
@@ -102,9 +102,9 @@ static method Extension|testInternal(final self::Class* #this) → dynamic {
|
||||
self::expect(4.{core::int::unary-}(), let final core::int* #t11 = 4.{core::int::unary-}() in let final void #t12 = self::Extension|set#setterWithClosure(#this, #t11) in #t11);
|
||||
self::expect(4, #this.{self::Class::field});
|
||||
}
|
||||
static method Extension|get#testInternal(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|get#testInternal(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|testInternal(#this);
|
||||
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void {}
|
||||
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void {}
|
||||
static method main() → dynamic {
|
||||
self::Class* c = new self::Class::•();
|
||||
self::expect(null, c.{self::Class::field});
|
||||
|
||||
+11
-11
@@ -48,35 +48,35 @@ extension Extension on self::Class* {
|
||||
extension GenericExtension<T extends core::Object* = dynamic> on self::GenericClass<T*>* {
|
||||
set setter = self::GenericExtension|set#setter;
|
||||
}
|
||||
static method Extension|get#simpleSetter(final self::Class* #this) → core::int*
|
||||
static method Extension|get#simpleSetter(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field};
|
||||
static method Extension|set#simpleSetter(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension|set#simpleSetter(lowered final self::Class* #this, core::int* value) → void {
|
||||
#this.{self::Class::field} = value;
|
||||
}
|
||||
static method Extension|get#mutatingSetter(final self::Class* #this) → core::int*
|
||||
static method Extension|get#mutatingSetter(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field};
|
||||
static method Extension|set#mutatingSetter(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension|set#mutatingSetter(lowered final self::Class* #this, core::int* value) → void {
|
||||
value = value.{core::num::+}(1);
|
||||
#this.{self::Class::field} = value;
|
||||
}
|
||||
static method Extension|get#setterWithReturn(final self::Class* #this) → core::int*
|
||||
static method Extension|get#setterWithReturn(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field};
|
||||
static method Extension|set#setterWithReturn(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension|set#setterWithReturn(lowered final self::Class* #this, core::int* value) → void {
|
||||
if(value.{core::num::<}(0)) {
|
||||
#this.{self::Class::field} = value.{core::int::unary-}();
|
||||
return;
|
||||
}
|
||||
#this.{self::Class::field} = value;
|
||||
}
|
||||
static method Extension|get#setterWithClosure(final self::Class* #this) → core::int*
|
||||
static method Extension|get#setterWithClosure(lowered final self::Class* #this) → core::int*
|
||||
return #this.{self::Class::field};
|
||||
static method Extension|set#setterWithClosure(final self::Class* #this, core::int* value) → void {
|
||||
static method Extension|set#setterWithClosure(lowered final self::Class* #this, core::int* value) → void {
|
||||
function abs(dynamic value) → dynamic {
|
||||
return value.<(0) as{TypeError,ForDynamic} core::bool* ?{dynamic} value.unary-() : value;
|
||||
}
|
||||
#this.{self::Class::field} = abs.call(value) as{TypeError,ForDynamic} core::int*;
|
||||
}
|
||||
static method Extension|testInternal(final self::Class* #this) → dynamic {
|
||||
static method Extension|testInternal(lowered final self::Class* #this) → dynamic {
|
||||
self::expect(null, #this.{self::Class::field});
|
||||
self::Extension|set#simpleSetter(#this, 0);
|
||||
self::expect(0, #this.{self::Class::field});
|
||||
@@ -102,9 +102,9 @@ static method Extension|testInternal(final self::Class* #this) → dynamic {
|
||||
self::expect(4.{core::int::unary-}(), let final core::int* #t11 = 4.{core::int::unary-}() in let final void #t12 = self::Extension|set#setterWithClosure(#this, #t11) in #t11);
|
||||
self::expect(4, #this.{self::Class::field});
|
||||
}
|
||||
static method Extension|get#testInternal(final self::Class* #this) → () →* dynamic
|
||||
static method Extension|get#testInternal(lowered final self::Class* #this) → () →* dynamic
|
||||
return () → dynamic => self::Extension|testInternal(#this);
|
||||
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void {}
|
||||
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void {}
|
||||
static method main() → dynamic {
|
||||
self::Class* c = new self::Class::•();
|
||||
self::expect(null, c.{self::Class::field});
|
||||
|
||||
@@ -19,7 +19,7 @@ class GenericClass<T extends core::Object* = dynamic> extends core::Object {
|
||||
extension GenericExtension<T extends core::Object* = dynamic> on self::GenericClass<T*>* {
|
||||
set setter = self::GenericExtension|set#setter;
|
||||
}
|
||||
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void
|
||||
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void
|
||||
;
|
||||
static method error() → dynamic
|
||||
;
|
||||
|
||||
@@ -28,7 +28,7 @@ class GenericClass<T extends core::Object* = dynamic> extends core::Object {
|
||||
extension GenericExtension<T extends core::Object* = dynamic> on self::GenericClass<T*>* {
|
||||
set setter = self::GenericExtension|set#setter;
|
||||
}
|
||||
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void {}
|
||||
static method GenericExtension|set#setter<T extends core::Object* = dynamic>(lowered final self::GenericClass<self::GenericExtension|set#setter::T*>* #this, self::GenericExtension|set#setter::T* value) → void {}
|
||||
static method error() → dynamic {
|
||||
self::GenericClass<core::int*>* genericClass = new self::GenericClass::•<core::int*>();
|
||||
self::expect(null, let final self::GenericClass<core::int*>* #t1 = let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/extensions/extension_setter_error.dart:13:41: Error: A value of type 'GenericClass<int>' can't be assigned to a variable of type 'GenericClass<double>'.
|
||||
|
||||
+2
-2
@@ -20,9 +20,9 @@ extension Extension<T extends core::Object* = dynamic> on self::Class<T*>* {
|
||||
method method = self::Extension|method;
|
||||
tearoff method = self::Extension|get#method;
|
||||
}
|
||||
static method Extension|method<T extends core::Object* = dynamic, R extends core::Object* = dynamic>(final self::Class<self::Extension|method::T*>* #this, self::Extension|method::T* t) → self::Extension|method::R*
|
||||
static method Extension|method<T extends core::Object* = dynamic, R extends core::Object* = dynamic>(lowered final self::Class<self::Extension|method::T*>* #this, self::Extension|method::T* t) → self::Extension|method::R*
|
||||
;
|
||||
static method Extension|get#method<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#method::T*>* #this) → <R extends core::Object* = dynamic>(self::Extension|get#method::T*) →* R*
|
||||
static method Extension|get#method<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#method::T*>* #this) → <R extends core::Object* = dynamic>(self::Extension|get#method::T*) →* R*
|
||||
return <R extends core::Object* = dynamic>(self::Extension|get#method::T* t) → R* => self::Extension|method<self::Extension|get#method::T*, R*>(#this, t);
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
+2
-2
@@ -21,9 +21,9 @@ extension Extension<T extends core::Object* = dynamic> on self::Class<T*>* {
|
||||
method method = self::Extension|method;
|
||||
tearoff method = self::Extension|get#method;
|
||||
}
|
||||
static method Extension|method<T extends core::Object* = dynamic, R extends core::Object* = dynamic>(final self::Class<self::Extension|method::T*>* #this, self::Extension|method::T* t) → self::Extension|method::R*
|
||||
static method Extension|method<T extends core::Object* = dynamic, R extends core::Object* = dynamic>(lowered final self::Class<self::Extension|method::T*>* #this, self::Extension|method::T* t) → self::Extension|method::R*
|
||||
return null;
|
||||
static method Extension|get#method<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#method::T*>* #this) → <R extends core::Object* = dynamic>(self::Extension|get#method::T*) →* R*
|
||||
static method Extension|get#method<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#method::T*>* #this) → <R extends core::Object* = dynamic>(self::Extension|get#method::T*) →* R*
|
||||
return <R extends core::Object* = dynamic>(self::Extension|get#method::T* t) → R* => self::Extension|method<self::Extension|get#method::T*, R*>(#this, t);
|
||||
static method main() → dynamic {
|
||||
let final dynamic #t1 = self::Extension|method<core::int*, dynamic>(new self::Class::•<core::int*>(), 0) in #t1.{core::Object::==}(null) ?{core::String*} null : #t1.{core::Object::toString}();
|
||||
|
||||
+2
-2
@@ -21,9 +21,9 @@ extension Extension<T extends core::Object* = dynamic> on self::Class<T*>* {
|
||||
method method = self::Extension|method;
|
||||
tearoff method = self::Extension|get#method;
|
||||
}
|
||||
static method Extension|method<T extends core::Object* = dynamic, R extends core::Object* = dynamic>(final self::Class<self::Extension|method::T*>* #this, self::Extension|method::T* t) → self::Extension|method::R*
|
||||
static method Extension|method<T extends core::Object* = dynamic, R extends core::Object* = dynamic>(lowered final self::Class<self::Extension|method::T*>* #this, self::Extension|method::T* t) → self::Extension|method::R*
|
||||
return null;
|
||||
static method Extension|get#method<T extends core::Object* = dynamic>(final self::Class<self::Extension|get#method::T*>* #this) → <R extends core::Object* = dynamic>(self::Extension|get#method::T*) →* R*
|
||||
static method Extension|get#method<T extends core::Object* = dynamic>(lowered final self::Class<self::Extension|get#method::T*>* #this) → <R extends core::Object* = dynamic>(self::Extension|get#method::T*) →* R*
|
||||
return <R extends core::Object* = dynamic>(self::Extension|get#method::T* t) → R* => self::Extension|method<self::Extension|get#method::T*, R*>(#this, t);
|
||||
static method main() → dynamic {
|
||||
let final dynamic #t1 = self::Extension|method<core::int*, dynamic>(new self::Class::•<core::int*>(), 0) in #t1.{core::Object::==}(null) ?{core::String*} null : #t1.{core::Object::toString}();
|
||||
|
||||
@@ -30,17 +30,17 @@ extension Extension1 on self::Class* {
|
||||
get m3 = self::Extension1|get#m3;
|
||||
set m4 = self::Extension1|set#m4;
|
||||
}
|
||||
static method Extension0|set#m1(final self::Class* #this, core::int* x) → void
|
||||
static method Extension0|set#m1(lowered final self::Class* #this, core::int* x) → void
|
||||
;
|
||||
static method Extension0|get#m2(final self::Class* #this) → core::int*
|
||||
static method Extension0|get#m2(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method Extension0|set#m3(final self::Class* #this, core::int* x) → void
|
||||
static method Extension0|set#m3(lowered final self::Class* #this, core::int* x) → void
|
||||
;
|
||||
static method Extension0|get#m4(final self::Class* #this) → core::int*
|
||||
static method Extension0|get#m4(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method Extension1|get#m3(final self::Class* #this) → core::int*
|
||||
static method Extension1|get#m3(lowered final self::Class* #this) → core::int*
|
||||
;
|
||||
static method Extension1|set#m4(final self::Class* #this, core::int* x) → void
|
||||
static method Extension1|set#m4(lowered final self::Class* #this, core::int* x) → void
|
||||
;
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
@@ -93,15 +93,15 @@ extension Extension1 on self::Class* {
|
||||
get m3 = self::Extension1|get#m3;
|
||||
set m4 = self::Extension1|set#m4;
|
||||
}
|
||||
static method Extension0|set#m1(final self::Class* #this, core::int* x) → void {}
|
||||
static method Extension0|get#m2(final self::Class* #this) → core::int*
|
||||
static method Extension0|set#m1(lowered final self::Class* #this, core::int* x) → void {}
|
||||
static method Extension0|get#m2(lowered final self::Class* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension0|set#m3(final self::Class* #this, core::int* x) → void {}
|
||||
static method Extension0|get#m4(final self::Class* #this) → core::int*
|
||||
static method Extension0|set#m3(lowered final self::Class* #this, core::int* x) → void {}
|
||||
static method Extension0|get#m4(lowered final self::Class* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension1|get#m3(final self::Class* #this) → core::int*
|
||||
static method Extension1|get#m3(lowered final self::Class* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension1|set#m4(final self::Class* #this, core::int* x) → void {}
|
||||
static method Extension1|set#m4(lowered final self::Class* #this, core::int* x) → void {}
|
||||
static method main() → dynamic {
|
||||
self::Class* c = new self::Class::•();
|
||||
self::expect(0, c.{self::Class::m1});
|
||||
|
||||
+6
-6
@@ -93,15 +93,15 @@ extension Extension1 on self::Class* {
|
||||
get m3 = self::Extension1|get#m3;
|
||||
set m4 = self::Extension1|set#m4;
|
||||
}
|
||||
static method Extension0|set#m1(final self::Class* #this, core::int* x) → void {}
|
||||
static method Extension0|get#m2(final self::Class* #this) → core::int*
|
||||
static method Extension0|set#m1(lowered final self::Class* #this, core::int* x) → void {}
|
||||
static method Extension0|get#m2(lowered final self::Class* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension0|set#m3(final self::Class* #this, core::int* x) → void {}
|
||||
static method Extension0|get#m4(final self::Class* #this) → core::int*
|
||||
static method Extension0|set#m3(lowered final self::Class* #this, core::int* x) → void {}
|
||||
static method Extension0|get#m4(lowered final self::Class* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension1|get#m3(final self::Class* #this) → core::int*
|
||||
static method Extension1|get#m3(lowered final self::Class* #this) → core::int*
|
||||
return 0;
|
||||
static method Extension1|set#m4(final self::Class* #this, core::int* x) → void {}
|
||||
static method Extension1|set#m4(lowered final self::Class* #this, core::int* x) → void {}
|
||||
static method main() → dynamic {
|
||||
self::Class* c = new self::Class::•();
|
||||
self::expect(0, c.{self::Class::m1});
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user