mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 15:21:54 +00:00
Make constructor function types conform with the specification.
Prior to this CL the return type of any constructor function was always void. According to the specification §9.3 the return type of a constructor function ought to be its enclosing class. Change-Id: I70d76cc354b7f118ce96bf4954daf7fe535eb7be Reviewed-on: https://dart-review.googlesource.com/76160 Commit-Queue: Daniel Hillerström <hillerstrom@google.com> Reviewed-by: Peter von der Ahé <ahe@google.com>
This commit is contained in:
parent
a3aa0c18fb
commit
98a9adf696
|
@ -16,6 +16,7 @@ import 'package:kernel/ast.dart'
|
|||
Expression,
|
||||
FunctionNode,
|
||||
Initializer,
|
||||
InterfaceType,
|
||||
Member,
|
||||
Name,
|
||||
Procedure,
|
||||
|
@ -481,8 +482,18 @@ class KernelConstructorBuilder extends KernelFunctionBuilder {
|
|||
}
|
||||
|
||||
FunctionNode buildFunction(LibraryBuilder library) {
|
||||
// TODO(ahe): Should complain if another type is explicitly set.
|
||||
return super.buildFunction(library)..returnType = const VoidType();
|
||||
// According to the specification §9.3 the return type of a constructor
|
||||
// function is its enclosing class.
|
||||
FunctionNode functionNode = super.buildFunction(library);
|
||||
ClassBuilder enclosingClass = parent;
|
||||
List<DartType> typeParameterTypes = new List<DartType>();
|
||||
for (int i = 0; i < enclosingClass.target.typeParameters.length; i++) {
|
||||
TypeParameter typeParameter = enclosingClass.target.typeParameters[i];
|
||||
typeParameterTypes.add(new TypeParameterType(typeParameter));
|
||||
}
|
||||
functionNode.returnType =
|
||||
new InterfaceType(enclosingClass.target, typeParameterTypes);
|
||||
return functionNode;
|
||||
}
|
||||
|
||||
Constructor get target => origin.constructor;
|
||||
|
|
|
@ -22,6 +22,7 @@ import 'package:kernel/ast.dart'
|
|||
FieldInitializer,
|
||||
FunctionNode,
|
||||
Initializer,
|
||||
InterfaceType,
|
||||
InvalidInitializer,
|
||||
Library,
|
||||
ListLiteral,
|
||||
|
@ -37,9 +38,9 @@ import 'package:kernel/ast.dart'
|
|||
SuperInitializer,
|
||||
Throw,
|
||||
TypeParameter,
|
||||
TypeParameterType,
|
||||
VariableDeclaration,
|
||||
VariableGet,
|
||||
VoidType;
|
||||
VariableGet;
|
||||
|
||||
import 'package:kernel/type_algebra.dart' show substitute;
|
||||
|
||||
|
@ -511,15 +512,19 @@ class KernelTarget extends TargetImplementation {
|
|||
builder.charOffset, dynamicType),
|
||||
builder.parent);
|
||||
if (supertype.cls.constructors.isEmpty) {
|
||||
builder.addSyntheticConstructor(makeDefaultConstructor());
|
||||
builder
|
||||
.addSyntheticConstructor(makeDefaultConstructor(builder.target));
|
||||
} else {
|
||||
for (Constructor constructor in supertype.cls.constructors) {
|
||||
builder.addSyntheticConstructor(makeMixinApplicationConstructor(
|
||||
builder.cls.mixin, constructor, substitutionMap));
|
||||
builder.target,
|
||||
builder.cls.mixin,
|
||||
constructor,
|
||||
substitutionMap));
|
||||
}
|
||||
}
|
||||
} else if (supertype is InvalidTypeBuilder) {
|
||||
builder.addSyntheticConstructor(makeDefaultConstructor());
|
||||
builder.addSyntheticConstructor(makeDefaultConstructor(builder.target));
|
||||
} else {
|
||||
unhandled("${supertype.runtimeType}", "installDefaultConstructor",
|
||||
builder.charOffset, builder.fileUri);
|
||||
|
@ -528,7 +533,7 @@ class KernelTarget extends TargetImplementation {
|
|||
/// >Iff no constructor is specified for a class C, it implicitly has a
|
||||
/// >default constructor C() : super() {}, unless C is class Object.
|
||||
// The superinitializer is installed below in [finishConstructors].
|
||||
builder.addSyntheticConstructor(makeDefaultConstructor());
|
||||
builder.addSyntheticConstructor(makeDefaultConstructor(builder.target));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -544,7 +549,7 @@ class KernelTarget extends TargetImplementation {
|
|||
return result;
|
||||
}
|
||||
|
||||
Constructor makeMixinApplicationConstructor(Class mixin,
|
||||
Constructor makeMixinApplicationConstructor(Class cls, Class mixin,
|
||||
Constructor constructor, Map<TypeParameter, DartType> substitutionMap) {
|
||||
VariableDeclaration copyFormal(VariableDeclaration formal) {
|
||||
// TODO(ahe): Handle initializers.
|
||||
|
@ -574,7 +579,7 @@ class KernelTarget extends TargetImplementation {
|
|||
positionalParameters: positionalParameters,
|
||||
namedParameters: namedParameters,
|
||||
requiredParameterCount: constructor.function.requiredParameterCount,
|
||||
returnType: const VoidType());
|
||||
returnType: makeConstructorReturnType(cls));
|
||||
SuperInitializer initializer = new SuperInitializer(
|
||||
constructor, new Arguments(positional, named: named));
|
||||
return new Constructor(function,
|
||||
|
@ -583,13 +588,23 @@ class KernelTarget extends TargetImplementation {
|
|||
isSynthetic: true);
|
||||
}
|
||||
|
||||
Constructor makeDefaultConstructor() {
|
||||
Constructor makeDefaultConstructor(Class enclosingClass) {
|
||||
return new Constructor(
|
||||
new FunctionNode(new EmptyStatement(), returnType: const VoidType()),
|
||||
new FunctionNode(new EmptyStatement(),
|
||||
returnType: makeConstructorReturnType(enclosingClass)),
|
||||
name: new Name(""),
|
||||
isSynthetic: true);
|
||||
}
|
||||
|
||||
DartType makeConstructorReturnType(Class enclosingClass) {
|
||||
List<DartType> typeParameterTypes = new List<DartType>();
|
||||
for (int i = 0; i < enclosingClass.typeParameters.length; i++) {
|
||||
TypeParameter typeParameter = enclosingClass.typeParameters[i];
|
||||
typeParameterTypes.add(new TypeParameterType(typeParameter));
|
||||
}
|
||||
return new InterfaceType(enclosingClass, typeParameterTypes);
|
||||
}
|
||||
|
||||
void computeCoreTypes() {
|
||||
List<Library> libraries = <Library>[];
|
||||
for (String platformLibrary in const [
|
||||
|
|
|
@ -3,7 +3,7 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class DeltaBlue extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::DeltaBlue
|
||||
;
|
||||
method run() → void
|
||||
;
|
||||
|
@ -11,7 +11,7 @@ class DeltaBlue extends core::Object {
|
|||
class Strength extends core::Object {
|
||||
final field core::int value;
|
||||
final field core::String name;
|
||||
const constructor •(core::int value, core::String name) → void
|
||||
const constructor •(core::int value, core::String name) → self::Strength
|
||||
;
|
||||
method nextWeaker() → self::Strength
|
||||
;
|
||||
|
@ -26,7 +26,7 @@ class Strength extends core::Object {
|
|||
}
|
||||
abstract class Constraint extends core::Object {
|
||||
final field self::Strength strength;
|
||||
const constructor •(self::Strength strength) → void
|
||||
const constructor •(self::Strength strength) → self::Constraint
|
||||
;
|
||||
abstract method isSatisfied() → core::bool;
|
||||
abstract method markUnsatisfied() → void;
|
||||
|
@ -50,7 +50,7 @@ abstract class Constraint extends core::Object {
|
|||
abstract class UnaryConstraint extends self::Constraint {
|
||||
final field self::Variable myOutput;
|
||||
field core::bool satisfied;
|
||||
constructor •(self::Variable myOutput, self::Strength strength) → void
|
||||
constructor •(self::Variable myOutput, self::Strength strength) → self::UnaryConstraint
|
||||
;
|
||||
method addToGraph() → void
|
||||
;
|
||||
|
@ -72,13 +72,13 @@ abstract class UnaryConstraint extends self::Constraint {
|
|||
;
|
||||
}
|
||||
class StayConstraint extends self::UnaryConstraint {
|
||||
constructor •(self::Variable v, self::Strength str) → void
|
||||
constructor •(self::Variable v, self::Strength str) → self::StayConstraint
|
||||
;
|
||||
method execute() → void
|
||||
;
|
||||
}
|
||||
class EditConstraint extends self::UnaryConstraint {
|
||||
constructor •(self::Variable v, self::Strength str) → void
|
||||
constructor •(self::Variable v, self::Strength str) → self::EditConstraint
|
||||
;
|
||||
method isInput() → core::bool
|
||||
;
|
||||
|
@ -89,7 +89,7 @@ abstract class BinaryConstraint extends self::Constraint {
|
|||
field self::Variable v1;
|
||||
field self::Variable v2;
|
||||
field core::int direction;
|
||||
constructor •(self::Variable v1, self::Variable v2, self::Strength strength) → void
|
||||
constructor •(self::Variable v1, self::Variable v2, self::Strength strength) → self::BinaryConstraint
|
||||
;
|
||||
method chooseMethod(core::int mark) → void
|
||||
;
|
||||
|
@ -115,7 +115,7 @@ abstract class BinaryConstraint extends self::Constraint {
|
|||
class ScaleConstraint extends self::BinaryConstraint {
|
||||
final field self::Variable scale;
|
||||
final field self::Variable offset;
|
||||
constructor •(self::Variable src, self::Variable scale, self::Variable offset, self::Variable dest, self::Strength strength) → void
|
||||
constructor •(self::Variable src, self::Variable scale, self::Variable offset, self::Variable dest, self::Strength strength) → self::ScaleConstraint
|
||||
;
|
||||
method addToGraph() → void
|
||||
;
|
||||
|
@ -129,7 +129,7 @@ class ScaleConstraint extends self::BinaryConstraint {
|
|||
;
|
||||
}
|
||||
class EqualityConstraint extends self::BinaryConstraint {
|
||||
constructor •(self::Variable v1, self::Variable v2, self::Strength strength) → void
|
||||
constructor •(self::Variable v1, self::Variable v2, self::Strength strength) → self::EqualityConstraint
|
||||
;
|
||||
method execute() → void
|
||||
;
|
||||
|
@ -142,7 +142,7 @@ class Variable extends core::Object {
|
|||
field core::bool stay;
|
||||
field core::int value;
|
||||
final field core::String name;
|
||||
constructor •(core::String name, core::int value) → void
|
||||
constructor •(core::String name, core::int value) → self::Variable
|
||||
;
|
||||
method addConstraint(self::Constraint c) → void
|
||||
;
|
||||
|
@ -151,7 +151,7 @@ class Variable extends core::Object {
|
|||
}
|
||||
class Planner extends core::Object {
|
||||
field core::int currentMark;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Planner
|
||||
;
|
||||
method incrementalAdd(self::Constraint c) → void
|
||||
;
|
||||
|
@ -172,7 +172,7 @@ class Planner extends core::Object {
|
|||
}
|
||||
class Plan extends core::Object {
|
||||
field core::List<self::Constraint> list;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Plan
|
||||
;
|
||||
method addConstraint(self::Constraint c) → void
|
||||
;
|
||||
|
|
|
@ -17,7 +17,7 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
set onlySetter(dynamic value) → void {
|
||||
|
@ -39,7 +39,7 @@ class C extends core::Object {
|
|||
}
|
||||
}
|
||||
class D extends self::C {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::D
|
||||
: super self::C::•()
|
||||
;
|
||||
get onlySetter() → core::String
|
||||
|
|
|
@ -3,7 +3,7 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
set onlySetter(dynamic value) → void {
|
||||
|
@ -25,7 +25,7 @@ class C extends core::Object {
|
|||
}
|
||||
}
|
||||
class D extends self::C {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::D
|
||||
: super self::C::•()
|
||||
;
|
||||
get onlySetter() → core::String
|
||||
|
|
|
@ -3,7 +3,7 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
;
|
||||
set onlySetter(dynamic value) → void
|
||||
;
|
||||
|
@ -13,7 +13,7 @@ class C extends core::Object {
|
|||
;
|
||||
}
|
||||
class D extends self::C {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::D
|
||||
;
|
||||
get onlySetter() → core::String
|
||||
;
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class Fisk<T extends core::Object = dynamic> extends core::Object {
|
||||
final field self::Fisk::T x;
|
||||
const constructor fisk(self::Fisk::T x) → void
|
||||
const constructor fisk(self::Fisk::T x) → self::Fisk<self::Fisk::T>
|
||||
: self::Fisk::x = x, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ class Foo extends core::Object {
|
|||
@self::Fisk::fisk<dynamic>(self::hest)
|
||||
static const field self::Foo baz = const self::Foo::•(1, "Foo.baz");
|
||||
static const field self::Foo cafebabe = const self::Foo::•(2, "Foo.cafebabe");
|
||||
const constructor •(core::int index, core::String _name) → void
|
||||
const constructor •(core::int index, core::String _name) → self::Foo
|
||||
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
|
||||
;
|
||||
method toString() → core::String
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class Fisk<T extends core::Object = dynamic> extends core::Object {
|
||||
final field self::Fisk::T x;
|
||||
const constructor fisk(self::Fisk::T x) → void
|
||||
const constructor fisk(self::Fisk::T x) → self::Fisk<self::Fisk::T>
|
||||
: self::Fisk::x = x, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ class Foo extends core::Object {
|
|||
@self::Fisk::fisk<dynamic>(self::hest)
|
||||
static const field self::Foo baz = const self::Foo::•(1, "Foo.baz");
|
||||
static const field self::Foo cafebabe = const self::Foo::•(2, "Foo.cafebabe");
|
||||
const constructor •(core::int index, core::String _name) → void
|
||||
const constructor •(core::int index, core::String _name) → self::Foo
|
||||
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
|
||||
;
|
||||
method toString() → core::String
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class Fisk<T extends core::Object = dynamic> extends core::Object {
|
||||
final field self::Fisk::T x;
|
||||
const constructor fisk(self::Fisk::T x) → void
|
||||
const constructor fisk(self::Fisk::T x) → self::Fisk<self::Fisk::T>
|
||||
;
|
||||
}
|
||||
class Foo extends core::Object {
|
||||
|
@ -14,7 +14,7 @@ class Foo extends core::Object {
|
|||
static const field self::Foo bar = const self::Foo::•(0, "Foo.bar");
|
||||
static const field self::Foo baz = const self::Foo::•(1, "Foo.baz");
|
||||
static const field self::Foo cafebabe = const self::Foo::•(2, "Foo.cafebabe");
|
||||
const constructor •(core::int index, core::String _name) → void
|
||||
const constructor •(core::int index, core::String _name) → self::Foo
|
||||
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
|
||||
;
|
||||
method toString() → core::String
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class Fisk<T extends core::Object = dynamic> extends core::Object {
|
||||
final field self::Fisk::T x;
|
||||
const constructor fisk(self::Fisk::T x) → void
|
||||
const constructor fisk(self::Fisk::T x) → self::Fisk<self::Fisk::T>
|
||||
: self::Fisk::x = x, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ class Foo extends core::Object {
|
|||
@self::Fisk::fisk<core::int>(self::hest)
|
||||
static const field self::Foo baz = const self::Foo::•(1, "Foo.baz");
|
||||
static const field self::Foo cafebabe = const self::Foo::•(2, "Foo.cafebabe");
|
||||
const constructor •(core::int index, core::String _name) → void
|
||||
const constructor •(core::int index, core::String _name) → self::Foo
|
||||
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
|
||||
;
|
||||
method toString() → core::String
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class Fisk<T extends core::Object = dynamic> extends core::Object {
|
||||
final field self::Fisk::T x;
|
||||
const constructor fisk(self::Fisk::T x) → void
|
||||
const constructor fisk(self::Fisk::T x) → self::Fisk<self::Fisk::T>
|
||||
: self::Fisk::x = x, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ class Foo extends core::Object {
|
|||
@self::Fisk::fisk<core::int>(self::hest)
|
||||
static const field self::Foo baz = const self::Foo::•(1, "Foo.baz");
|
||||
static const field self::Foo cafebabe = const self::Foo::•(2, "Foo.cafebabe");
|
||||
const constructor •(core::int index, core::String _name) → void
|
||||
const constructor •(core::int index, core::String _name) → self::Foo
|
||||
: self::Foo::index = index, self::Foo::_name = _name, super core::Object::•()
|
||||
;
|
||||
method toString() → core::String
|
||||
|
|
|
@ -11,14 +11,14 @@ typedef F1 = () → void;
|
|||
@self::A::•(3)
|
||||
typedef F2 = () → void;
|
||||
class A extends core::Object {
|
||||
const constructor •(core::int value) → void
|
||||
const constructor •(core::int value) → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
@self::a
|
||||
@self::A::•(2)
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -11,14 +11,14 @@ typedef F1 = () → void;
|
|||
@self::A::•(3)
|
||||
typedef F2 = () → void;
|
||||
class A extends core::Object {
|
||||
const constructor •(core::int value) → void
|
||||
const constructor •(core::int value) → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
@self::a
|
||||
@self::A::•(2)
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -5,11 +5,11 @@ import "dart:core" as core;
|
|||
typedef F1 = () → void;
|
||||
typedef F2 = () → void;
|
||||
class A extends core::Object {
|
||||
const constructor •(core::int value) → void
|
||||
const constructor •(core::int value) → self::A
|
||||
;
|
||||
}
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
;
|
||||
}
|
||||
static const field core::Object a;
|
||||
|
|
|
@ -11,14 +11,14 @@ typedef F1 = () → void;
|
|||
@self::A::•(3)
|
||||
typedef F2 = () → void;
|
||||
class A extends core::Object {
|
||||
const constructor •(core::int value) → void
|
||||
const constructor •(core::int value) → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
@self::a
|
||||
@self::A::•(2)
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -11,14 +11,14 @@ typedef F1 = () → void;
|
|||
@self::A::•(3)
|
||||
typedef F2 = () → void;
|
||||
class A extends core::Object {
|
||||
const constructor •(core::int value) → void
|
||||
const constructor •(core::int value) → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
@self::a
|
||||
@self::A::•(2)
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -4,15 +4,15 @@ import "dart:core" as core;
|
|||
|
||||
typedef hest_t = ({@self::foo dynamic named}) → dynamic;
|
||||
class Bar extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::Bar
|
||||
: super core::Object::•()
|
||||
;
|
||||
const constructor named(dynamic x) → void
|
||||
const constructor named(dynamic x) → self::Bar
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class Baz extends core::Object {
|
||||
constructor •(@self::foo dynamic constructorFormal) → void
|
||||
constructor •(@self::foo dynamic constructorFormal) → self::Baz
|
||||
: super core::Object::•()
|
||||
;
|
||||
static factory bazFactory(@self::foo dynamic factoryFormal) → self::Baz
|
||||
|
|
|
@ -4,15 +4,15 @@ import "dart:core" as core;
|
|||
|
||||
typedef hest_t = ({@self::foo dynamic named}) → dynamic;
|
||||
class Bar extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::Bar
|
||||
: super core::Object::•()
|
||||
;
|
||||
const constructor named(dynamic x) → void
|
||||
const constructor named(dynamic x) → self::Bar
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class Baz extends core::Object {
|
||||
constructor •(@self::foo dynamic constructorFormal) → void
|
||||
constructor •(@self::foo dynamic constructorFormal) → self::Baz
|
||||
: super core::Object::•()
|
||||
;
|
||||
static factory bazFactory(@self::foo dynamic factoryFormal) → self::Baz
|
||||
|
|
|
@ -4,13 +4,13 @@ import "dart:core" as core;
|
|||
|
||||
typedef hest_t = ({named: dynamic}) → dynamic;
|
||||
class Bar extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::Bar
|
||||
;
|
||||
const constructor named(dynamic x) → void
|
||||
const constructor named(dynamic x) → self::Bar
|
||||
;
|
||||
}
|
||||
class Baz extends core::Object {
|
||||
constructor •(dynamic constructorFormal) → void
|
||||
constructor •(dynamic constructorFormal) → self::Baz
|
||||
;
|
||||
static factory bazFactory(dynamic factoryFormal) → self::Baz
|
||||
;
|
||||
|
|
|
@ -4,15 +4,15 @@ import "dart:core" as core;
|
|||
|
||||
typedef hest_t = ({@self::foo dynamic named}) → dynamic;
|
||||
class Bar extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::Bar
|
||||
: super core::Object::•()
|
||||
;
|
||||
const constructor named(dynamic x) → void
|
||||
const constructor named(dynamic x) → self::Bar
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class Baz extends core::Object {
|
||||
constructor •(@self::foo dynamic constructorFormal) → void
|
||||
constructor •(@self::foo dynamic constructorFormal) → self::Baz
|
||||
: super core::Object::•()
|
||||
;
|
||||
static factory bazFactory(@self::foo dynamic factoryFormal) → self::Baz
|
||||
|
|
|
@ -4,15 +4,15 @@ import "dart:core" as core;
|
|||
|
||||
typedef hest_t = ({@self::foo dynamic named}) → dynamic;
|
||||
class Bar extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::Bar
|
||||
: super core::Object::•()
|
||||
;
|
||||
const constructor named(dynamic x) → void
|
||||
const constructor named(dynamic x) → self::Bar
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class Baz extends core::Object {
|
||||
constructor •(@self::foo dynamic constructorFormal) → void
|
||||
constructor •(@self::foo dynamic constructorFormal) → self::Baz
|
||||
: super core::Object::•()
|
||||
;
|
||||
static factory bazFactory(@self::foo dynamic factoryFormal) → self::Baz
|
||||
|
|
|
@ -3,22 +3,22 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class Base extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Base
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class Foo extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
class Bar extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Bar
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
class Baz extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Baz
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -3,22 +3,22 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class Base extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Base
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class Foo extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
class Bar extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Bar
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
class Baz extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Baz
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -3,19 +3,19 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class Base extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Base
|
||||
;
|
||||
}
|
||||
class Foo extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
;
|
||||
}
|
||||
class Bar extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Bar
|
||||
;
|
||||
}
|
||||
class Baz extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Baz
|
||||
;
|
||||
}
|
||||
static method foo(dynamic x) → void
|
||||
|
|
|
@ -3,22 +3,22 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class Base extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Base
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class Foo extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
class Bar extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Bar
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
class Baz extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Baz
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -3,22 +3,22 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class Base extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Base
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class Foo extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
class Bar extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Bar
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
class Baz extends self::Base {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Baz
|
||||
: super self::Base::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import "dart:async" as asy;
|
|||
class Node extends core::Object {
|
||||
final field core::List<self::Node> nested;
|
||||
final field core::String name;
|
||||
constructor •(core::String name, [core::List<self::Node> nested = null]) → void
|
||||
constructor •(core::String name, [core::List<self::Node> nested = null]) → self::Node
|
||||
: self::Node::name = name, self::Node::nested = nested, super core::Object::•() {}
|
||||
method toString() → core::String
|
||||
return "<${this.{self::Node::name}}:[${let final dynamic #t1 = this.{self::Node::nested} in #t1.==(null) ? null : #t1.join(", ")}]>";
|
||||
|
|
|
@ -6,7 +6,7 @@ import "dart:async" as asy;
|
|||
class Node extends core::Object {
|
||||
final field core::List<self::Node> nested;
|
||||
final field core::String name;
|
||||
constructor •(core::String name, [core::List<self::Node> nested = null]) → void
|
||||
constructor •(core::String name, [core::List<self::Node> nested = null]) → self::Node
|
||||
: self::Node::name = name, self::Node::nested = nested, super core::Object::•() {}
|
||||
method toString() → core::String
|
||||
return "<${this.{self::Node::name}}:[${let final dynamic #t1 = this.{self::Node::nested} in #t1.==(null) ? null : #t1.join(", ")}]>";
|
||||
|
|
|
@ -5,7 +5,7 @@ import "dart:core" as core;
|
|||
class Node extends core::Object {
|
||||
final field core::List<self::Node> nested;
|
||||
final field core::String name;
|
||||
constructor •(core::String name, [core::List<self::Node> nested]) → void
|
||||
constructor •(core::String name, [core::List<self::Node> nested]) → self::Node
|
||||
;
|
||||
method toString() → core::String
|
||||
;
|
||||
|
|
|
@ -6,7 +6,7 @@ import "dart:async" as asy;
|
|||
class Node extends core::Object {
|
||||
final field core::List<self::Node> nested;
|
||||
final field core::String name;
|
||||
constructor •(core::String name, [core::List<self::Node> nested = null]) → void
|
||||
constructor •(core::String name, [core::List<self::Node> nested = null]) → self::Node
|
||||
: self::Node::name = name, self::Node::nested = nested, super core::Object::•() {}
|
||||
method toString() → core::String
|
||||
return "<${this.{self::Node::name}}:[${let final core::List<self::Node> #t1 = this.{self::Node::nested} in #t1.==(null) ?{core::String} null : #t1.{core::Iterable::join}(", ")}]>";
|
||||
|
|
|
@ -6,7 +6,7 @@ import "dart:async" as asy;
|
|||
class Node extends core::Object {
|
||||
final field core::List<self::Node> nested;
|
||||
final field core::String name;
|
||||
constructor •(core::String name, [core::List<self::Node> nested = null]) → void
|
||||
constructor •(core::String name, [core::List<self::Node> nested = null]) → self::Node
|
||||
: self::Node::name = name, self::Node::nested = nested, super core::Object::•() {}
|
||||
method toString() → core::String
|
||||
return "<${this.{self::Node::name}}:[${let final core::List<self::Node> #t1 = this.{self::Node::nested} in #t1.==(null) ?{core::String} null : #t1.{core::Iterable::join}(", ")}]>";
|
||||
|
|
|
@ -55,7 +55,7 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
set a(dynamic #synthetic) → dynamic
|
||||
|
@ -68,7 +68,7 @@ class A extends core::Object {
|
|||
^";
|
||||
}
|
||||
abstract class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
set a(dynamic #synthetic) → dynamic
|
||||
|
|
|
@ -15,7 +15,7 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
set a(dynamic #synthetic) → dynamic
|
||||
|
@ -28,7 +28,7 @@ class A extends core::Object {
|
|||
^";
|
||||
}
|
||||
abstract class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
set a(dynamic #synthetic) → dynamic
|
||||
|
|
|
@ -15,7 +15,7 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
;
|
||||
set a(dynamic #synthetic) → dynamic
|
||||
;
|
||||
|
@ -23,7 +23,7 @@ class A extends core::Object {
|
|||
;
|
||||
}
|
||||
abstract class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
;
|
||||
set a(dynamic #synthetic) → dynamic
|
||||
;
|
||||
|
|
|
@ -59,7 +59,7 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
set a(dynamic #synthetic) → void
|
||||
|
@ -72,7 +72,7 @@ class A extends core::Object {
|
|||
^";
|
||||
}
|
||||
abstract class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
set a(dynamic #synthetic) → void
|
||||
|
|
|
@ -19,7 +19,7 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
set a(dynamic #synthetic) → void
|
||||
|
@ -32,7 +32,7 @@ class A extends core::Object {
|
|||
^";
|
||||
}
|
||||
abstract class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
set a(dynamic #synthetic) → void
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class Foo extends core::Object {
|
||||
field dynamic field = null;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class Foo extends core::Object {
|
||||
field dynamic field = null;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class Foo extends core::Object {
|
||||
field dynamic field;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
;
|
||||
}
|
||||
static method identity(dynamic x) → dynamic
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class Foo extends core::Object {
|
||||
field dynamic field = null;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class Foo extends core::Object {
|
||||
field dynamic field = null;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -13,12 +13,12 @@ import "dart:core" as core;
|
|||
|
||||
class A extends core::Object {
|
||||
field dynamic foo = 42;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B extends self::A {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super self::A::•()
|
||||
;
|
||||
method foo() → dynamic
|
||||
|
|
|
@ -4,12 +4,12 @@ import "dart:core" as core;
|
|||
|
||||
class A extends core::Object {
|
||||
field dynamic foo = 42;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B extends self::A {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super self::A::•()
|
||||
;
|
||||
method foo() → dynamic
|
||||
|
|
|
@ -13,11 +13,11 @@ import "dart:core" as core;
|
|||
|
||||
class A extends core::Object {
|
||||
field dynamic foo;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
;
|
||||
}
|
||||
class B extends self::A {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
;
|
||||
method foo() → dynamic
|
||||
;
|
||||
|
|
|
@ -19,12 +19,12 @@ import "dart:core" as core;
|
|||
|
||||
class A extends core::Object {
|
||||
field core::int foo = 42;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B extends self::A {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super self::A::•()
|
||||
;
|
||||
method foo() → dynamic
|
||||
|
|
|
@ -3,13 +3,13 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class I extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::I
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract method call() → void;
|
||||
}
|
||||
class C extends core::Object implements self::I {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call([core::int x = null]) → void {}
|
||||
|
|
|
@ -3,13 +3,13 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class I extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::I
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract method call() → void;
|
||||
}
|
||||
class C extends core::Object implements self::I {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call([core::int x = null]) → void {}
|
||||
|
|
|
@ -3,12 +3,12 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class I extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::I
|
||||
;
|
||||
abstract method call() → void;
|
||||
}
|
||||
class C extends core::Object implements self::I {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
;
|
||||
method call([core::int x]) → void
|
||||
;
|
||||
|
|
|
@ -3,13 +3,13 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class I extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::I
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract method call() → void;
|
||||
}
|
||||
class C extends core::Object implements self::I {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call([core::int x = null]) → void {}
|
||||
|
|
|
@ -3,13 +3,13 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class I extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::I
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract method call() → void;
|
||||
}
|
||||
class C extends core::Object implements self::I {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call([core::int x = null]) → void {}
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
typedef Reducer<S extends core::Object = dynamic> = (S, dynamic) → S;
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call(dynamic a, dynamic b) → dynamic {
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
typedef Reducer<S extends core::Object = dynamic> = (S, dynamic) → S;
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call(dynamic a, dynamic b) → dynamic {
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
typedef Reducer<S extends core::Object = dynamic> = (S, dynamic) → S;
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
;
|
||||
method call(dynamic a, dynamic b) → dynamic
|
||||
;
|
||||
|
|
|
@ -3,14 +3,14 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract get f() → core::String;
|
||||
}
|
||||
class A extends core::Object implements self::B {
|
||||
final field dynamic f;
|
||||
constructor •(dynamic f) → void
|
||||
constructor •(dynamic f) → self::A
|
||||
: self::A::f = f, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -3,14 +3,14 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract get f() → core::String;
|
||||
}
|
||||
class A extends core::Object implements self::B {
|
||||
final field dynamic f;
|
||||
constructor •(dynamic f) → void
|
||||
constructor •(dynamic f) → self::A
|
||||
: self::A::f = f, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -3,13 +3,13 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
;
|
||||
abstract get f() → core::String;
|
||||
}
|
||||
class A extends core::Object implements self::B {
|
||||
final field dynamic f;
|
||||
constructor •(dynamic f) → void
|
||||
constructor •(dynamic f) → self::A
|
||||
;
|
||||
}
|
||||
static field dynamic a;
|
||||
|
|
|
@ -3,14 +3,14 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract get f() → core::String;
|
||||
}
|
||||
class A extends core::Object implements self::B {
|
||||
final field core::String f;
|
||||
constructor •(core::String f) → void
|
||||
constructor •(core::String f) → self::A
|
||||
: self::A::f = f, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -3,14 +3,14 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
abstract class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
abstract get f() → core::String;
|
||||
}
|
||||
class A extends core::Object implements self::B {
|
||||
final field core::String f;
|
||||
constructor •(core::String f) → void
|
||||
constructor •(core::String f) → self::A
|
||||
: self::A::f = f, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -4,11 +4,11 @@ import "dart:core" as core;
|
|||
import "dart:mirrors" as mir;
|
||||
|
||||
class _FailingTest extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::_FailingTest
|
||||
;
|
||||
}
|
||||
class MyTest extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::MyTest
|
||||
;
|
||||
method foo() → void
|
||||
;
|
||||
|
@ -16,7 +16,7 @@ class MyTest extends core::Object {
|
|||
abstract class _MyTest2&Object&MyTest = core::Object with self::MyTest {
|
||||
}
|
||||
class MyTest2 extends self::_MyTest2&Object&MyTest {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::MyTest2
|
||||
;
|
||||
}
|
||||
static const field self::_FailingTest failingTest;
|
||||
|
|
|
@ -4,12 +4,12 @@ import "dart:core" as core;
|
|||
import "dart:mirrors" as mir;
|
||||
|
||||
class _FailingTest extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::_FailingTest
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class MyTest extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::MyTest
|
||||
: super core::Object::•()
|
||||
;
|
||||
@self::failingTest
|
||||
|
@ -18,7 +18,7 @@ class MyTest extends core::Object {
|
|||
abstract class _MyTest2&Object&MyTest = core::Object with self::MyTest {
|
||||
}
|
||||
class MyTest2 extends self::_MyTest2&Object&MyTest {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::MyTest2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -4,12 +4,12 @@ import "dart:core" as core;
|
|||
import "dart:mirrors" as mir;
|
||||
|
||||
class _FailingTest extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::_FailingTest
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class MyTest extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::MyTest
|
||||
: super core::Object::•()
|
||||
;
|
||||
@self::failingTest
|
||||
|
@ -23,7 +23,7 @@ abstract class _MyTest2&Object&MyTest extends core::Object implements self::MyTe
|
|||
method foo() → void {}
|
||||
}
|
||||
class MyTest2 extends self::_MyTest2&Object&MyTest {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::MyTest2
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -6,14 +6,14 @@ import "dart:async" as asy;
|
|||
class X extends core::Object {
|
||||
final field dynamic x;
|
||||
final field dynamic y;
|
||||
constructor •(dynamic x, dynamic y) → void
|
||||
constructor •(dynamic x, dynamic y) → self::X
|
||||
: self::X::x = x, self::X::y = y, super core::Object::•()
|
||||
;
|
||||
method toString() → dynamic
|
||||
return "X(${this.{self::X::x}}, ${this.{self::X::y}})";
|
||||
}
|
||||
class Y extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Y
|
||||
: super core::Object::•()
|
||||
;
|
||||
method f(dynamic _) → dynamic {}
|
||||
|
|
|
@ -6,14 +6,14 @@ import "dart:async" as asy;
|
|||
class X extends core::Object {
|
||||
final field dynamic x;
|
||||
final field dynamic y;
|
||||
constructor •(dynamic x, dynamic y) → void
|
||||
constructor •(dynamic x, dynamic y) → self::X
|
||||
: self::X::x = x, self::X::y = y, super core::Object::•()
|
||||
;
|
||||
method toString() → dynamic
|
||||
return "X(${this.{self::X::x}}, ${this.{self::X::y}})";
|
||||
}
|
||||
class Y extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Y
|
||||
: super core::Object::•()
|
||||
;
|
||||
method f(dynamic _) → dynamic {}
|
||||
|
|
|
@ -6,13 +6,13 @@ import "dart:async" as asy;
|
|||
class X extends core::Object {
|
||||
final field dynamic x;
|
||||
final field dynamic y;
|
||||
constructor •(dynamic x, dynamic y) → void
|
||||
constructor •(dynamic x, dynamic y) → self::X
|
||||
;
|
||||
method toString() → dynamic
|
||||
;
|
||||
}
|
||||
class Y extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Y
|
||||
;
|
||||
method f(dynamic _) → dynamic
|
||||
;
|
||||
|
|
|
@ -6,14 +6,14 @@ import "dart:async" as asy;
|
|||
class X extends core::Object {
|
||||
final field dynamic x;
|
||||
final field dynamic y;
|
||||
constructor •(dynamic x, dynamic y) → void
|
||||
constructor •(dynamic x, dynamic y) → self::X
|
||||
: self::X::x = x, self::X::y = y, super core::Object::•()
|
||||
;
|
||||
method toString() → core::String
|
||||
return "X(${this.{self::X::x}}, ${this.{self::X::y}})";
|
||||
}
|
||||
class Y extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Y
|
||||
: super core::Object::•()
|
||||
;
|
||||
method f(dynamic _) → dynamic {}
|
||||
|
|
|
@ -6,14 +6,14 @@ import "dart:async" as asy;
|
|||
class X extends core::Object {
|
||||
final field dynamic x;
|
||||
final field dynamic y;
|
||||
constructor •(dynamic x, dynamic y) → void
|
||||
constructor •(dynamic x, dynamic y) → self::X
|
||||
: self::X::x = x, self::X::y = y, super core::Object::•()
|
||||
;
|
||||
method toString() → core::String
|
||||
return "X(${this.{self::X::x}}, ${this.{self::X::y}})";
|
||||
}
|
||||
class Y extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Y
|
||||
: super core::Object::•()
|
||||
;
|
||||
method f(dynamic _) → dynamic {}
|
||||
|
|
|
@ -3,21 +3,21 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call(core::String s) → core::String
|
||||
return "${s}${s}";
|
||||
}
|
||||
class B<T extends core::Object = dynamic> extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B<self::B::T>
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call(self::B::T t) → self::B::T
|
||||
return t;
|
||||
}
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call<T extends core::Object = dynamic>(self::C::call::T t) → self::C::call::T
|
||||
|
|
|
@ -3,21 +3,21 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call(core::String s) → core::String
|
||||
return "${s}${s}";
|
||||
}
|
||||
class B<T extends core::Object = dynamic> extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B<self::B::T>
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call(self::B::T t) → self::B::T
|
||||
return t;
|
||||
}
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call<T extends core::Object = dynamic>(self::C::call::T t) → self::C::call::T
|
||||
|
|
|
@ -3,19 +3,19 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
;
|
||||
method call(core::String s) → core::String
|
||||
;
|
||||
}
|
||||
class B<T extends core::Object = dynamic> extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B<self::B::T>
|
||||
;
|
||||
method call(self::B::T t) → self::B::T
|
||||
;
|
||||
}
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
;
|
||||
method call<T extends core::Object = dynamic>(self::C::call::T t) → self::C::call::T
|
||||
;
|
||||
|
|
|
@ -10,21 +10,21 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call(core::String s) → core::String
|
||||
return "${s}${s}";
|
||||
}
|
||||
class B<T extends core::Object = dynamic> extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B<self::B::T>
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call(generic-covariant-impl self::B::T t) → self::B::T
|
||||
return t;
|
||||
}
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call<T extends core::Object = dynamic>(self::C::call::T t) → self::C::call::T
|
||||
|
|
|
@ -3,21 +3,21 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call(core::String s) → core::String
|
||||
return "${s}${s}";
|
||||
}
|
||||
class B<T extends core::Object = dynamic> extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B<self::B::T>
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call(generic-covariant-impl self::B::T t) → self::B::T
|
||||
return t;
|
||||
}
|
||||
class C extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::C
|
||||
: super core::Object::•()
|
||||
;
|
||||
method call<T extends core::Object = dynamic>(self::C::call::T t) → self::C::call::T
|
||||
|
|
|
@ -3,13 +3,13 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class Callable extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Callable
|
||||
;
|
||||
method call(dynamic x) → dynamic
|
||||
;
|
||||
}
|
||||
class CallableGetter extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::CallableGetter
|
||||
;
|
||||
get call() → dynamic
|
||||
;
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class C extends core::Object {
|
||||
field dynamic f = new self::C::_circular(null);
|
||||
constructor _circular(dynamic f) → void
|
||||
constructor _circular(dynamic f) → self::C
|
||||
: self::C::f = f, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class C extends core::Object {
|
||||
field dynamic f = new self::C::_circular(null);
|
||||
constructor _circular(dynamic f) → void
|
||||
constructor _circular(dynamic f) → self::C
|
||||
: self::C::f = f, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ import "dart:core" as core;
|
|||
|
||||
class C extends core::Object {
|
||||
field dynamic f;
|
||||
constructor _circular(dynamic f) → void
|
||||
constructor _circular(dynamic f) → self::C
|
||||
;
|
||||
}
|
||||
static field dynamic x;
|
||||
|
|
|
@ -18,7 +18,7 @@ import "dart:core" as core;
|
|||
|
||||
class C extends core::Object {
|
||||
field self::C f = new self::C::_circular(null);
|
||||
constructor _circular(self::C f) → void
|
||||
constructor _circular(self::C f) → self::C
|
||||
: self::C::f = f, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ import "dart:core" as core;
|
|||
|
||||
class C extends core::Object {
|
||||
field self::C f = new self::C::_circular(null);
|
||||
constructor _circular(self::C f) → void
|
||||
constructor _circular(self::C f) → self::C
|
||||
: self::C::f = f, super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import "dart:core" as core;
|
|||
class A extends core::Object {
|
||||
final field core::int x;
|
||||
final field core::int y;
|
||||
constructor •(core::int y) → void
|
||||
constructor •(core::int y) → self::A
|
||||
: self::A::y = y, self::A::x = 42, super core::Object::•()
|
||||
;
|
||||
method method() → dynamic {
|
||||
|
@ -15,7 +15,7 @@ class A extends core::Object {
|
|||
}
|
||||
}
|
||||
class B extends self::A {
|
||||
constructor •(dynamic x) → void
|
||||
constructor •(dynamic x) → self::B
|
||||
: super self::A::•(x)
|
||||
;
|
||||
method method() → dynamic {
|
||||
|
|
|
@ -5,7 +5,7 @@ import "dart:core" as core;
|
|||
class A extends core::Object {
|
||||
final field core::int x;
|
||||
final field core::int y;
|
||||
constructor •(core::int y) → void
|
||||
constructor •(core::int y) → self::A
|
||||
: self::A::y = y, self::A::x = 42, super core::Object::•()
|
||||
;
|
||||
method method() → dynamic {
|
||||
|
@ -15,7 +15,7 @@ class A extends core::Object {
|
|||
}
|
||||
}
|
||||
class B extends self::A {
|
||||
constructor •(dynamic x) → void
|
||||
constructor •(dynamic x) → self::B
|
||||
: super self::A::•(x)
|
||||
;
|
||||
method method() → dynamic {
|
||||
|
|
|
@ -5,13 +5,13 @@ import "dart:core" as core;
|
|||
class A extends core::Object {
|
||||
final field core::int x;
|
||||
final field core::int y;
|
||||
constructor •(core::int y) → void
|
||||
constructor •(core::int y) → self::A
|
||||
;
|
||||
method method() → dynamic
|
||||
;
|
||||
}
|
||||
class B extends self::A {
|
||||
constructor •(dynamic x) → void
|
||||
constructor •(dynamic x) → self::B
|
||||
;
|
||||
method method() → dynamic
|
||||
;
|
||||
|
|
|
@ -4,12 +4,12 @@ import "dart:core" as core;
|
|||
|
||||
class Foo extends core::Object {
|
||||
field dynamic _field = new self::Bar::•();
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class Bar extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Bar
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -4,12 +4,12 @@ import "dart:core" as core;
|
|||
|
||||
class Foo extends core::Object {
|
||||
field dynamic _field = new self::Bar::•();
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class Bar extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Bar
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -4,11 +4,11 @@ import "dart:core" as core;
|
|||
|
||||
class Foo extends core::Object {
|
||||
field dynamic _field;
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Foo
|
||||
;
|
||||
}
|
||||
class Bar extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::Bar
|
||||
;
|
||||
}
|
||||
static method useCallback(dynamic callback) → dynamic
|
||||
|
|
|
@ -26,12 +26,12 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -13,12 +13,12 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -16,11 +16,11 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::A
|
||||
;
|
||||
}
|
||||
class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
;
|
||||
}
|
||||
static method main() → dynamic
|
||||
|
|
|
@ -26,12 +26,12 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -13,12 +13,12 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B extends core::Object {
|
||||
synthetic constructor •() → void
|
||||
synthetic constructor •() → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -3,18 +3,18 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class _Y<T extends core::Object = dynamic> extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::_Y<self::_Y::T>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class A<T extends core::Object = dynamic> extends core::Object {
|
||||
field self::_Y<self::A::T> x;
|
||||
constructor •(self::_Y<self::A::T> x) → void
|
||||
constructor •(self::_Y<self::A::T> x) → self::A<self::A::T>
|
||||
: self::A::x = x, super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B<T extends core::Object = dynamic> extends self::A<self::B::T> {
|
||||
constructor •() → void
|
||||
constructor •() → self::B<self::B::T>
|
||||
: super self::A::•(const self::_Y::•<dynamic>())
|
||||
;
|
||||
}
|
||||
|
|
|
@ -3,18 +3,18 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class _Y<T extends core::Object = dynamic> extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::_Y<self::_Y::T>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class A<T extends core::Object = dynamic> extends core::Object {
|
||||
field self::_Y<self::A::T> x;
|
||||
constructor •(self::_Y<self::A::T> x) → void
|
||||
constructor •(self::_Y<self::A::T> x) → self::A<self::A::T>
|
||||
: self::A::x = x, super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B<T extends core::Object = dynamic> extends self::A<self::B::T> {
|
||||
constructor •() → void
|
||||
constructor •() → self::B<self::B::T>
|
||||
: super self::A::•(const self::_Y::•<dynamic>())
|
||||
;
|
||||
}
|
||||
|
|
|
@ -3,16 +3,16 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class _Y<T extends core::Object = dynamic> extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::_Y<self::_Y::T>
|
||||
;
|
||||
}
|
||||
class A<T extends core::Object = dynamic> extends core::Object {
|
||||
field self::_Y<self::A::T> x;
|
||||
constructor •(self::_Y<self::A::T> x) → void
|
||||
constructor •(self::_Y<self::A::T> x) → self::A<self::A::T>
|
||||
;
|
||||
}
|
||||
class B<T extends core::Object = dynamic> extends self::A<self::B::T> {
|
||||
constructor •() → void
|
||||
constructor •() → self::B<self::B::T>
|
||||
;
|
||||
}
|
||||
static method main() → dynamic
|
||||
|
|
|
@ -3,18 +3,18 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class _Y<T extends core::Object = dynamic> extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::_Y<self::_Y::T>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class A<T extends core::Object = dynamic> extends core::Object {
|
||||
generic-covariant-impl field self::_Y<self::A::T> x;
|
||||
constructor •(self::_Y<self::A::T> x) → void
|
||||
constructor •(self::_Y<self::A::T> x) → self::A<self::A::T>
|
||||
: self::A::x = x, super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B<T extends core::Object = dynamic> extends self::A<self::B::T> {
|
||||
constructor •() → void
|
||||
constructor •() → self::B<self::B::T>
|
||||
: super self::A::•(const self::_Y::•<core::Null>())
|
||||
;
|
||||
}
|
||||
|
|
|
@ -3,18 +3,18 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class _Y<T extends core::Object = dynamic> extends core::Object {
|
||||
const constructor •() → void
|
||||
const constructor •() → self::_Y<self::_Y::T>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class A<T extends core::Object = dynamic> extends core::Object {
|
||||
generic-covariant-impl field self::_Y<self::A::T> x;
|
||||
constructor •(self::_Y<self::A::T> x) → void
|
||||
constructor •(self::_Y<self::A::T> x) → self::A<self::A::T>
|
||||
: self::A::x = x, super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B<T extends core::Object = dynamic> extends self::A<self::B::T> {
|
||||
constructor •() → void
|
||||
constructor •() → self::B<self::B::T>
|
||||
: super self::A::•(const self::_Y::•<core::Null>())
|
||||
;
|
||||
}
|
||||
|
|
|
@ -27,16 +27,16 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
constructor foo() → void
|
||||
constructor foo() → self::A
|
||||
: this self::A::bar()
|
||||
;
|
||||
constructor bar() → void
|
||||
constructor bar() → self::A
|
||||
: this self::A::foo()
|
||||
;
|
||||
constructor baz() → void
|
||||
constructor baz() → self::A
|
||||
: this self::A::foo()
|
||||
;
|
||||
constructor •() → void
|
||||
constructor •() → self::A
|
||||
: this self::A::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -15,16 +15,16 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
constructor foo() → void
|
||||
constructor foo() → self::A
|
||||
: this self::A::bar()
|
||||
;
|
||||
constructor bar() → void
|
||||
constructor bar() → self::A
|
||||
: this self::A::foo()
|
||||
;
|
||||
constructor baz() → void
|
||||
constructor baz() → self::A
|
||||
: this self::A::foo()
|
||||
;
|
||||
constructor •() → void
|
||||
constructor •() → self::A
|
||||
: this self::A::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -3,13 +3,13 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
constructor foo() → void
|
||||
constructor foo() → self::A
|
||||
;
|
||||
constructor bar() → void
|
||||
constructor bar() → self::A
|
||||
;
|
||||
constructor baz() → void
|
||||
constructor baz() → self::A
|
||||
;
|
||||
constructor •() → void
|
||||
constructor •() → self::A
|
||||
;
|
||||
}
|
||||
static method main() → dynamic
|
||||
|
|
|
@ -27,16 +27,16 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
constructor foo() → void
|
||||
constructor foo() → self::A
|
||||
: this self::A::bar()
|
||||
;
|
||||
constructor bar() → void
|
||||
constructor bar() → self::A
|
||||
: this self::A::foo()
|
||||
;
|
||||
constructor baz() → void
|
||||
constructor baz() → self::A
|
||||
: this self::A::foo()
|
||||
;
|
||||
constructor •() → void
|
||||
constructor •() → self::A
|
||||
: this self::A::•()
|
||||
;
|
||||
}
|
||||
|
|
|
@ -15,16 +15,16 @@ import self as self;
|
|||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
constructor foo() → void
|
||||
constructor foo() → self::A
|
||||
: this self::A::bar()
|
||||
;
|
||||
constructor bar() → void
|
||||
constructor bar() → self::A
|
||||
: this self::A::foo()
|
||||
;
|
||||
constructor baz() → void
|
||||
constructor baz() → self::A
|
||||
: this self::A::foo()
|
||||
;
|
||||
constructor •() → void
|
||||
constructor •() → self::A
|
||||
: this self::A::•()
|
||||
;
|
||||
}
|
||||
|
|
26
pkg/front_end/testcases/constructor_function_types.dart
Normal file
26
pkg/front_end/testcases/constructor_function_types.dart
Normal file
|
@ -0,0 +1,26 @@
|
|||
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
|
||||
// for details. All rights reserved. Use of this source code is governed by a
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
class A {
|
||||
A();
|
||||
}
|
||||
|
||||
class B {
|
||||
B(int x, double y, String s);
|
||||
}
|
||||
|
||||
class C<T> {
|
||||
C();
|
||||
}
|
||||
|
||||
class D<T, S> {
|
||||
D(T x, S y);
|
||||
}
|
||||
|
||||
void main() {
|
||||
new A();
|
||||
new B(0, 3.14, "foo");
|
||||
new C();
|
||||
new D<Object, int>(null, 3);
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
library;
|
||||
import self as self;
|
||||
import "dart:core" as core;
|
||||
|
||||
class A extends core::Object {
|
||||
constructor •() → self::A
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class B extends core::Object {
|
||||
constructor •(core::int x, core::double y, core::String s) → self::B
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class C<T extends core::Object = dynamic> extends core::Object {
|
||||
constructor •() → self::C<self::C::T>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
class D<T extends core::Object = dynamic, S extends core::Object = dynamic> extends core::Object {
|
||||
constructor •(self::D::T x, self::D::S y) → self::D<self::D::T, self::D::S>
|
||||
: super core::Object::•()
|
||||
;
|
||||
}
|
||||
static method main() → void {
|
||||
new self::A::•();
|
||||
new self::B::•(0, 3.14, "foo");
|
||||
new self::C::•<dynamic>();
|
||||
new self::D::•<core::Object, core::int>(null, 3);
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue