[cfe] Add isImplicitCall to DynamicInvocation
This adds an ìsImplicitCall to DynamicInvocation which is set on expression like `d()` where `d` has type dynamic, to distinguish the for `d.call()`. TEST=pkg/front_end/testcases/general/dynamic_call.dart Change-Id: I73beb911bdb315a510c862e6d4876cf7673ec3c7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/346240 Commit-Queue: Johnni Winther <johnniwinther@google.com> Reviewed-by: Jens Johansen <jensj@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>
This commit is contained in:
committed by
Commit Queue
parent
6c897ba077
commit
8a2f6495b3
@@ -3798,7 +3798,8 @@ class ConstantEvaluator implements ExpressionVisitor<Constant> {
|
||||
node.name,
|
||||
unevaluatedArguments(
|
||||
positionalArguments, {}, node.arguments.types))
|
||||
..fileOffset = node.fileOffset);
|
||||
..fileOffset = node.fileOffset
|
||||
..flags = node.flags);
|
||||
}
|
||||
|
||||
return _handleInvocation(node, node.name, receiver, positionalArguments,
|
||||
|
||||
@@ -2391,6 +2391,7 @@ abstract class InferenceVisitorBase implements InferenceVisitor {
|
||||
assert(name != equalsName);
|
||||
Expression expression = new DynamicInvocation(
|
||||
DynamicAccessKind.Dynamic, receiver, name, arguments)
|
||||
..isImplicitCall = isImplicitCall
|
||||
..fileOffset = fileOffset;
|
||||
return createNullAwareExpressionInferenceResult(
|
||||
result.inferredType, result.applyResult(expression), nullAwareGuards);
|
||||
@@ -2741,6 +2742,7 @@ abstract class InferenceVisitorBase implements InferenceVisitor {
|
||||
// the parameters.
|
||||
expression = new DynamicInvocation(
|
||||
DynamicAccessKind.Dynamic, receiver, methodName, arguments)
|
||||
..isImplicitCall = isImplicitCall
|
||||
..fileOffset = fileOffset;
|
||||
} else if (result.isInapplicable) {
|
||||
// This was a method invocation whose arguments didn't match
|
||||
|
||||
@@ -241,6 +241,9 @@ exprGenericInvocation2b(Class variable) =>
|
||||
/*member: exprDynamicInvocation:variable.method1()*/
|
||||
exprDynamicInvocation(variable) => variable.method1();
|
||||
|
||||
/*member: exprDynamicInvocationImplicitCall:variable()*/
|
||||
exprDynamicInvocationImplicitCall(variable) => variable();
|
||||
|
||||
/*normal|limited.member: exprObjectInvocation:variable.{Object.toString}()*/
|
||||
/*verbose.member: exprObjectInvocation:variable.{dart.core::Object.toString}()*/
|
||||
exprObjectInvocation(variable) => variable.toString();
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ library;
|
||||
import self as self;
|
||||
|
||||
static const field dynamic a = null;
|
||||
static const field dynamic b = self::a{dynamic}.call();
|
||||
static const field dynamic b = self::a{dynamic}();
|
||||
static method main() → dynamic
|
||||
;
|
||||
|
||||
|
||||
+4
-4
@@ -50,9 +50,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class1};
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call(0);
|
||||
dynamic c1b = f1b{dynamic}(0);
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f1b{dynamic}(""));
|
||||
(core::int) → self::Class2 f2a = #C2;
|
||||
self::expect(true, f2a is (core::int) → self::Class2);
|
||||
self::expect(false, f2a is (core::String) → self::Class2);
|
||||
@@ -64,9 +64,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class2};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call(0);
|
||||
dynamic c2b = f2b{dynamic}(0);
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f2b{dynamic}(""));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+4
-4
@@ -50,9 +50,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class1};
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call(0);
|
||||
dynamic c1b = f1b{dynamic}(0);
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f1b{dynamic}(""));
|
||||
(core::int) → self::Class2 f2a = #C2;
|
||||
self::expect(true, f2a is (core::int) → self::Class2);
|
||||
self::expect(false, f2a is (core::String) → self::Class2);
|
||||
@@ -64,9 +64,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class2};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call(0);
|
||||
dynamic c2b = f2b{dynamic}(0);
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f2b{dynamic}(""));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+4
-4
@@ -50,9 +50,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class1};
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call(0);
|
||||
dynamic c1b = f1b{dynamic}(0);
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f1b{dynamic}(""));
|
||||
(core::int) → self::Class2 f2a = #C2;
|
||||
self::expect(true, f2a is (core::int) → self::Class2);
|
||||
self::expect(false, f2a is (core::String) → self::Class2);
|
||||
@@ -64,9 +64,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class2};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call(0);
|
||||
dynamic c2b = f2b{dynamic}(0);
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f2b{dynamic}(""));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+4
-4
@@ -50,9 +50,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class1};
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call(0);
|
||||
dynamic c1b = f1b{dynamic}(0);
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f1b{dynamic}(""));
|
||||
(core::int) → self::Class2 f2a = #C2;
|
||||
self::expect(true, f2a is (core::int) → self::Class2);
|
||||
self::expect(false, f2a is (core::String) → self::Class2);
|
||||
@@ -64,9 +64,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class2};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call(0);
|
||||
dynamic c2b = f2b{dynamic}(0);
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f2b{dynamic}(""));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+4
-4
@@ -50,9 +50,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class1};
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call(0);
|
||||
dynamic c1b = f1b{dynamic}(0);
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f1b{dynamic}(""));
|
||||
(core::int) → self::Class2 f2a = #C2;
|
||||
self::expect(true, f2a is (core::int) → self::Class2);
|
||||
self::expect(false, f2a is (core::String) → self::Class2);
|
||||
@@ -64,9 +64,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class2};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call(0);
|
||||
dynamic c2b = f2b{dynamic}(0);
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f2b{dynamic}(""));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -105,14 +105,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -130,10 +130,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -146,7 +146,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -164,8 +164,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -195,10 +195,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -105,14 +105,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -130,10 +130,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -146,7 +146,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -164,8 +164,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -195,10 +195,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -105,14 +105,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -130,10 +130,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -146,7 +146,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -164,8 +164,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -195,10 +195,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -105,14 +105,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -130,10 +130,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -146,7 +146,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -164,8 +164,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -195,10 +195,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -105,14 +105,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -130,10 +130,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -146,7 +146,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -164,8 +164,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -195,10 +195,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -49,11 +49,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -66,11 +66,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -49,11 +49,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -66,11 +66,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -49,11 +49,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -66,11 +66,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -49,11 +49,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -66,11 +66,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -49,11 +49,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -66,11 +66,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -129,14 +129,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -154,10 +154,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -170,7 +170,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -188,8 +188,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -219,10 +219,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -129,14 +129,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -154,10 +154,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -170,7 +170,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -188,8 +188,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -219,10 +219,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -129,14 +129,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -154,10 +154,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -170,7 +170,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -188,8 +188,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -219,10 +219,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -129,14 +129,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -154,10 +154,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -170,7 +170,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -188,8 +188,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -219,10 +219,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -129,14 +129,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -154,10 +154,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -170,7 +170,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -188,8 +188,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -219,10 +219,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -57,11 +57,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -74,11 +74,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -57,11 +57,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -74,11 +74,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -57,11 +57,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -74,11 +74,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -57,11 +57,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -74,11 +74,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -57,11 +57,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -74,11 +74,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+14
-14
@@ -48,21 +48,21 @@ static method main() → dynamic {
|
||||
mai::Class1 c1a = f1a(){() → mai::Class1};
|
||||
self::expect(true, c1a is mai::Class1);
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is mai::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → mai::Class2 f2a = #C2;
|
||||
mai::Class2 c2a = f2a(){() → mai::Class2};
|
||||
self::expect(true, c2a is mai::Class2);
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is mai::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
() → mai::Class2 f2c = #C3;
|
||||
mai::Class2 c2c = f2c(){() → mai::Class2};
|
||||
self::expect(true, c2c is mai::Class2);
|
||||
dynamic f2d = #C3;
|
||||
dynamic c2d = f2d{dynamic}.call();
|
||||
dynamic c2d = f2d{dynamic}();
|
||||
self::expect(true, c2d is mai::Class2);
|
||||
self::expect(true, core::identical(f2c, f2d));
|
||||
(core::int) → mai::Class3 f3a = #C4;
|
||||
@@ -78,10 +78,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
<T extends core::Object? = dynamic>() → mai::Class4<T%> f4a = #C5;
|
||||
mai::Class4<dynamic> c4a = f4a<dynamic>(){() → mai::Class4<dynamic>};
|
||||
self::expect(true, c4a is mai::Class4<dynamic>);
|
||||
@@ -104,10 +104,10 @@ Try removing the extra positional arguments.
|
||||
^" in f4b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f4c = #C5;
|
||||
dynamic c4d = f4c{dynamic}.call();
|
||||
dynamic c4d = f4c{dynamic}();
|
||||
self::expect(true, c4d is mai::Class4<dynamic>);
|
||||
self::expect(false, c4d is mai::Class4<core::int>);
|
||||
self::throws(() → dynamic => f4c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f4c{dynamic}<core::int, core::String>());
|
||||
<T extends core::Object? = dynamic>() → mai::Class4<T%> f4d = #C6;
|
||||
mai::Class4<dynamic> c4e = f4d<dynamic>(){() → mai::Class4<dynamic>};
|
||||
self::expect(true, c4e is mai::Class4<dynamic>);
|
||||
@@ -130,10 +130,10 @@ Try removing the extra positional arguments.
|
||||
^" in f4e{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f4f = #C6;
|
||||
dynamic c4h = f4f{dynamic}.call();
|
||||
dynamic c4h = f4f{dynamic}();
|
||||
self::expect(true, c4h is mai::Class4<dynamic>);
|
||||
self::expect(false, c4h is mai::Class4<core::int>);
|
||||
self::throws(() → dynamic => f4f{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f4f{dynamic}<core::int, core::String>());
|
||||
<T extends core::num>() → mai::Class5<T> f5a = #C7;
|
||||
mai::Class5<core::num> c5a = f5a<core::num>(){() → mai::Class5<core::num>};
|
||||
self::expect(true, c5a is mai::Class5<core::num>);
|
||||
@@ -148,14 +148,14 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f5b = #C7;
|
||||
dynamic c5c = f5b{dynamic}.call();
|
||||
dynamic c5c = f5b{dynamic}();
|
||||
self::expect(true, c5c is mai::Class5<core::num>);
|
||||
self::expect(false, c5c is mai::Class5<core::int>);
|
||||
dynamic c5d = f5b{dynamic}.call<core::int>();
|
||||
dynamic c5d = f5b{dynamic}<core::int>();
|
||||
self::expect(true, c5d is mai::Class5<core::int>);
|
||||
self::expect(false, c5d is mai::Class5<core::double>);
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+14
-14
@@ -48,21 +48,21 @@ static method main() → dynamic {
|
||||
mai::Class1 c1a = f1a(){() → mai::Class1};
|
||||
self::expect(true, c1a is mai::Class1);
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is mai::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → mai::Class2 f2a = #C2;
|
||||
mai::Class2 c2a = f2a(){() → mai::Class2};
|
||||
self::expect(true, c2a is mai::Class2);
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is mai::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
() → mai::Class2 f2c = #C3;
|
||||
mai::Class2 c2c = f2c(){() → mai::Class2};
|
||||
self::expect(true, c2c is mai::Class2);
|
||||
dynamic f2d = #C3;
|
||||
dynamic c2d = f2d{dynamic}.call();
|
||||
dynamic c2d = f2d{dynamic}();
|
||||
self::expect(true, c2d is mai::Class2);
|
||||
self::expect(true, core::identical(f2c, f2d));
|
||||
(core::int) → mai::Class3 f3a = #C4;
|
||||
@@ -78,10 +78,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
<T extends core::Object? = dynamic>() → mai::Class4<T%> f4a = #C5;
|
||||
mai::Class4<dynamic> c4a = f4a<dynamic>(){() → mai::Class4<dynamic>};
|
||||
self::expect(true, c4a is mai::Class4<dynamic>);
|
||||
@@ -104,10 +104,10 @@ Try removing the extra positional arguments.
|
||||
^" in f4b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f4c = #C5;
|
||||
dynamic c4d = f4c{dynamic}.call();
|
||||
dynamic c4d = f4c{dynamic}();
|
||||
self::expect(true, c4d is mai::Class4<dynamic>);
|
||||
self::expect(false, c4d is mai::Class4<core::int>);
|
||||
self::throws(() → dynamic => f4c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f4c{dynamic}<core::int, core::String>());
|
||||
<T extends core::Object? = dynamic>() → mai::Class4<T%> f4d = #C6;
|
||||
mai::Class4<dynamic> c4e = f4d<dynamic>(){() → mai::Class4<dynamic>};
|
||||
self::expect(true, c4e is mai::Class4<dynamic>);
|
||||
@@ -130,10 +130,10 @@ Try removing the extra positional arguments.
|
||||
^" in f4e{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f4f = #C6;
|
||||
dynamic c4h = f4f{dynamic}.call();
|
||||
dynamic c4h = f4f{dynamic}();
|
||||
self::expect(true, c4h is mai::Class4<dynamic>);
|
||||
self::expect(false, c4h is mai::Class4<core::int>);
|
||||
self::throws(() → dynamic => f4f{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f4f{dynamic}<core::int, core::String>());
|
||||
<T extends core::num>() → mai::Class5<T> f5a = #C7;
|
||||
mai::Class5<core::num> c5a = f5a<core::num>(){() → mai::Class5<core::num>};
|
||||
self::expect(true, c5a is mai::Class5<core::num>);
|
||||
@@ -148,14 +148,14 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f5b = #C7;
|
||||
dynamic c5c = f5b{dynamic}.call();
|
||||
dynamic c5c = f5b{dynamic}();
|
||||
self::expect(true, c5c is mai::Class5<core::num>);
|
||||
self::expect(false, c5c is mai::Class5<core::int>);
|
||||
dynamic c5d = f5b{dynamic}.call<core::int>();
|
||||
dynamic c5d = f5b{dynamic}<core::int>();
|
||||
self::expect(true, c5d is mai::Class5<core::int>);
|
||||
self::expect(false, c5d is mai::Class5<core::double>);
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+14
-14
@@ -48,21 +48,21 @@ static method main() → dynamic {
|
||||
mai::Class1 c1a = f1a(){() → mai::Class1};
|
||||
self::expect(true, c1a is mai::Class1);
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is mai::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → mai::Class2 f2a = #C2;
|
||||
mai::Class2 c2a = f2a(){() → mai::Class2};
|
||||
self::expect(true, c2a is mai::Class2);
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is mai::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
() → mai::Class2 f2c = #C3;
|
||||
mai::Class2 c2c = f2c(){() → mai::Class2};
|
||||
self::expect(true, c2c is mai::Class2);
|
||||
dynamic f2d = #C3;
|
||||
dynamic c2d = f2d{dynamic}.call();
|
||||
dynamic c2d = f2d{dynamic}();
|
||||
self::expect(true, c2d is mai::Class2);
|
||||
self::expect(true, core::identical(f2c, f2d));
|
||||
(core::int) → mai::Class3 f3a = #C4;
|
||||
@@ -78,10 +78,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
<T extends core::Object? = dynamic>() → mai::Class4<T%> f4a = #C5;
|
||||
mai::Class4<dynamic> c4a = f4a<dynamic>(){() → mai::Class4<dynamic>};
|
||||
self::expect(true, c4a is mai::Class4<dynamic>);
|
||||
@@ -104,10 +104,10 @@ Try removing the extra positional arguments.
|
||||
^" in f4b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f4c = #C5;
|
||||
dynamic c4d = f4c{dynamic}.call();
|
||||
dynamic c4d = f4c{dynamic}();
|
||||
self::expect(true, c4d is mai::Class4<dynamic>);
|
||||
self::expect(false, c4d is mai::Class4<core::int>);
|
||||
self::throws(() → dynamic => f4c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f4c{dynamic}<core::int, core::String>());
|
||||
<T extends core::Object? = dynamic>() → mai::Class4<T%> f4d = #C6;
|
||||
mai::Class4<dynamic> c4e = f4d<dynamic>(){() → mai::Class4<dynamic>};
|
||||
self::expect(true, c4e is mai::Class4<dynamic>);
|
||||
@@ -130,10 +130,10 @@ Try removing the extra positional arguments.
|
||||
^" in f4e{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f4f = #C6;
|
||||
dynamic c4h = f4f{dynamic}.call();
|
||||
dynamic c4h = f4f{dynamic}();
|
||||
self::expect(true, c4h is mai::Class4<dynamic>);
|
||||
self::expect(false, c4h is mai::Class4<core::int>);
|
||||
self::throws(() → dynamic => f4f{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f4f{dynamic}<core::int, core::String>());
|
||||
<T extends core::num>() → mai::Class5<T> f5a = #C7;
|
||||
mai::Class5<core::num> c5a = f5a<core::num>(){() → mai::Class5<core::num>};
|
||||
self::expect(true, c5a is mai::Class5<core::num>);
|
||||
@@ -148,14 +148,14 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f5b = #C7;
|
||||
dynamic c5c = f5b{dynamic}.call();
|
||||
dynamic c5c = f5b{dynamic}();
|
||||
self::expect(true, c5c is mai::Class5<core::num>);
|
||||
self::expect(false, c5c is mai::Class5<core::int>);
|
||||
dynamic c5d = f5b{dynamic}.call<core::int>();
|
||||
dynamic c5d = f5b{dynamic}<core::int>();
|
||||
self::expect(true, c5d is mai::Class5<core::int>);
|
||||
self::expect(false, c5d is mai::Class5<core::double>);
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+14
-14
@@ -48,21 +48,21 @@ static method main() → dynamic {
|
||||
mai::Class1 c1a = f1a(){() → mai::Class1};
|
||||
self::expect(true, c1a is mai::Class1);
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is mai::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → mai::Class2 f2a = #C2;
|
||||
mai::Class2 c2a = f2a(){() → mai::Class2};
|
||||
self::expect(true, c2a is mai::Class2);
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is mai::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
() → mai::Class2 f2c = #C3;
|
||||
mai::Class2 c2c = f2c(){() → mai::Class2};
|
||||
self::expect(true, c2c is mai::Class2);
|
||||
dynamic f2d = #C3;
|
||||
dynamic c2d = f2d{dynamic}.call();
|
||||
dynamic c2d = f2d{dynamic}();
|
||||
self::expect(true, c2d is mai::Class2);
|
||||
self::expect(true, core::identical(f2c, f2d));
|
||||
(core::int) → mai::Class3 f3a = #C4;
|
||||
@@ -78,10 +78,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
<T extends core::Object? = dynamic>() → mai::Class4<T%> f4a = #C5;
|
||||
mai::Class4<dynamic> c4a = f4a<dynamic>(){() → mai::Class4<dynamic>};
|
||||
self::expect(true, c4a is mai::Class4<dynamic>);
|
||||
@@ -104,10 +104,10 @@ Try removing the extra positional arguments.
|
||||
^" in f4b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f4c = #C5;
|
||||
dynamic c4d = f4c{dynamic}.call();
|
||||
dynamic c4d = f4c{dynamic}();
|
||||
self::expect(true, c4d is mai::Class4<dynamic>);
|
||||
self::expect(false, c4d is mai::Class4<core::int>);
|
||||
self::throws(() → dynamic => f4c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f4c{dynamic}<core::int, core::String>());
|
||||
<T extends core::Object? = dynamic>() → mai::Class4<T%> f4d = #C6;
|
||||
mai::Class4<dynamic> c4e = f4d<dynamic>(){() → mai::Class4<dynamic>};
|
||||
self::expect(true, c4e is mai::Class4<dynamic>);
|
||||
@@ -130,10 +130,10 @@ Try removing the extra positional arguments.
|
||||
^" in f4e{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f4f = #C6;
|
||||
dynamic c4h = f4f{dynamic}.call();
|
||||
dynamic c4h = f4f{dynamic}();
|
||||
self::expect(true, c4h is mai::Class4<dynamic>);
|
||||
self::expect(false, c4h is mai::Class4<core::int>);
|
||||
self::throws(() → dynamic => f4f{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f4f{dynamic}<core::int, core::String>());
|
||||
<T extends core::num>() → mai::Class5<T> f5a = #C7;
|
||||
mai::Class5<core::num> c5a = f5a<core::num>(){() → mai::Class5<core::num>};
|
||||
self::expect(true, c5a is mai::Class5<core::num>);
|
||||
@@ -148,14 +148,14 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f5b = #C7;
|
||||
dynamic c5c = f5b{dynamic}.call();
|
||||
dynamic c5c = f5b{dynamic}();
|
||||
self::expect(true, c5c is mai::Class5<core::num>);
|
||||
self::expect(false, c5c is mai::Class5<core::int>);
|
||||
dynamic c5d = f5b{dynamic}.call<core::int>();
|
||||
dynamic c5d = f5b{dynamic}<core::int>();
|
||||
self::expect(true, c5d is mai::Class5<core::int>);
|
||||
self::expect(false, c5d is mai::Class5<core::double>);
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+14
-14
@@ -48,21 +48,21 @@ static method main() → dynamic {
|
||||
mai::Class1 c1a = f1a(){() → mai::Class1};
|
||||
self::expect(true, c1a is mai::Class1);
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is mai::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → mai::Class2 f2a = #C2;
|
||||
mai::Class2 c2a = f2a(){() → mai::Class2};
|
||||
self::expect(true, c2a is mai::Class2);
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is mai::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
() → mai::Class2 f2c = #C3;
|
||||
mai::Class2 c2c = f2c(){() → mai::Class2};
|
||||
self::expect(true, c2c is mai::Class2);
|
||||
dynamic f2d = #C3;
|
||||
dynamic c2d = f2d{dynamic}.call();
|
||||
dynamic c2d = f2d{dynamic}();
|
||||
self::expect(true, c2d is mai::Class2);
|
||||
self::expect(true, core::identical(f2c, f2d));
|
||||
(core::int) → mai::Class3 f3a = #C4;
|
||||
@@ -78,10 +78,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
<T extends core::Object? = dynamic>() → mai::Class4<T%> f4a = #C5;
|
||||
mai::Class4<dynamic> c4a = f4a<dynamic>(){() → mai::Class4<dynamic>};
|
||||
self::expect(true, c4a is mai::Class4<dynamic>);
|
||||
@@ -104,10 +104,10 @@ Try removing the extra positional arguments.
|
||||
^" in f4b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f4c = #C5;
|
||||
dynamic c4d = f4c{dynamic}.call();
|
||||
dynamic c4d = f4c{dynamic}();
|
||||
self::expect(true, c4d is mai::Class4<dynamic>);
|
||||
self::expect(false, c4d is mai::Class4<core::int>);
|
||||
self::throws(() → dynamic => f4c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f4c{dynamic}<core::int, core::String>());
|
||||
<T extends core::Object? = dynamic>() → mai::Class4<T%> f4d = #C6;
|
||||
mai::Class4<dynamic> c4e = f4d<dynamic>(){() → mai::Class4<dynamic>};
|
||||
self::expect(true, c4e is mai::Class4<dynamic>);
|
||||
@@ -130,10 +130,10 @@ Try removing the extra positional arguments.
|
||||
^" in f4e{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f4f = #C6;
|
||||
dynamic c4h = f4f{dynamic}.call();
|
||||
dynamic c4h = f4f{dynamic}();
|
||||
self::expect(true, c4h is mai::Class4<dynamic>);
|
||||
self::expect(false, c4h is mai::Class4<core::int>);
|
||||
self::throws(() → dynamic => f4f{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f4f{dynamic}<core::int, core::String>());
|
||||
<T extends core::num>() → mai::Class5<T> f5a = #C7;
|
||||
mai::Class5<core::num> c5a = f5a<core::num>(){() → mai::Class5<core::num>};
|
||||
self::expect(true, c5a is mai::Class5<core::num>);
|
||||
@@ -148,14 +148,14 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f5b = #C7;
|
||||
dynamic c5c = f5b{dynamic}.call();
|
||||
dynamic c5c = f5b{dynamic}();
|
||||
self::expect(true, c5c is mai::Class5<core::num>);
|
||||
self::expect(false, c5c is mai::Class5<core::int>);
|
||||
dynamic c5d = f5b{dynamic}.call<core::int>();
|
||||
dynamic c5d = f5b{dynamic}<core::int>();
|
||||
self::expect(true, c5d is mai::Class5<core::int>);
|
||||
self::expect(false, c5d is mai::Class5<core::double>);
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+11
-11
@@ -98,10 +98,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -118,14 +118,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -137,20 +137,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -98,10 +98,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -118,14 +118,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -137,20 +137,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -98,10 +98,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -118,14 +118,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -137,20 +137,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -98,10 +98,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -118,14 +118,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -137,20 +137,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -98,10 +98,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -118,14 +118,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -137,20 +137,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -118,10 +118,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -138,14 +138,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -157,20 +157,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -118,10 +118,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -138,14 +138,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -157,20 +157,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -118,10 +118,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -138,14 +138,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -157,20 +157,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -118,10 +118,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -138,14 +138,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -157,20 +157,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -118,10 +118,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -138,14 +138,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -157,20 +157,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -118,10 +118,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -138,14 +138,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -157,20 +157,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -118,10 +118,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -138,14 +138,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -157,20 +157,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -118,10 +118,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -138,14 +138,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -157,20 +157,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -118,10 +118,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -138,14 +138,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -157,20 +157,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+11
-11
@@ -118,10 +118,10 @@ static method testGeneric() → dynamic {
|
||||
^" in f1b{<inapplicable>}.<core::int>();
|
||||
};
|
||||
dynamic f1c = #C1;
|
||||
dynamic c1d = f1c{dynamic}.call();
|
||||
dynamic c1d = f1c{dynamic}();
|
||||
self::expect(true, c1a is self::Class1<dynamic>);
|
||||
self::expect(false, c1a is self::Class1<core::int>);
|
||||
self::throws(() → dynamic => f1c{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f1c{dynamic}<core::int, core::String>());
|
||||
}
|
||||
static method testBounded() → dynamic {
|
||||
<T extends core::num>() → self::Class2<T> f2a = #C2;
|
||||
@@ -138,14 +138,14 @@ static method testBounded() → dynamic {
|
||||
^" in f2a{<inapplicable>}.<core::int, core::String>();
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(true, c2c is self::Class2<core::num>);
|
||||
self::expect(false, c2c is self::Class2<core::int>);
|
||||
dynamic c2d = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2d = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2d is self::Class2<core::int>);
|
||||
self::expect(false, c2d is self::Class2<core::double>);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::int, core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::int, core::String>());
|
||||
<T extends S% = dynamic, S extends core::Object? = dynamic>() → self::Class3<T%, S%> f3a = #C3;
|
||||
self::Class3<dynamic, dynamic> c3a = f3a<dynamic, dynamic>(){() → self::Class3<dynamic, dynamic>};
|
||||
self::expect(true, c3a is self::Class3<dynamic, dynamic>);
|
||||
@@ -157,20 +157,20 @@ static method testBounded() → dynamic {
|
||||
f3a<core::num, core::int>(){() → self::Class3<core::num, core::int>};
|
||||
};
|
||||
dynamic f3b = #C3;
|
||||
dynamic c3c = f3b{dynamic}.call();
|
||||
dynamic c3c = f3b{dynamic}();
|
||||
self::expect(true, c3c is self::Class3<dynamic, dynamic>);
|
||||
self::expect(false, c3c is self::Class3<core::int, core::num>);
|
||||
dynamic c3d = f3b{dynamic}.call<core::int, core::num>();
|
||||
dynamic c3d = f3b{dynamic}<core::int, core::num>();
|
||||
self::expect(true, c3d is self::Class3<core::int, core::num>);
|
||||
self::expect(false, c3d is self::Class3<core::double, core::num>);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::num, core::int>());
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::num, core::int>());
|
||||
<T extends self::Class4<T> = self::Class4<dynamic>>() → self::Class4<T> f4a = #C4;
|
||||
() → Null {
|
||||
self::Class4<self::Class4<core::Object?>> c4a = f4a<self::Class4<core::Object?>>(){() → self::Class4<self::Class4<core::Object?>>};
|
||||
};
|
||||
dynamic f4b = #C4;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call());
|
||||
dynamic c4b = f4b{dynamic}.call<self::Class4int>();
|
||||
self::throws(() → dynamic => f4b{dynamic}());
|
||||
dynamic c4b = f4b{dynamic}<self::Class4int>();
|
||||
self::expect(true, c4b is self::Class4<self::Class4int>);
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
|
||||
+4
-4
@@ -54,9 +54,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class1};
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call(0);
|
||||
dynamic c1b = f1b{dynamic}(0);
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f1b{dynamic}(""));
|
||||
(core::int) → self::Class2 f2a = #C2;
|
||||
self::expect(true, f2a is (core::int) → self::Class2);
|
||||
self::expect(false, f2a is (core::String) → self::Class2);
|
||||
@@ -68,9 +68,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class2};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call(0);
|
||||
dynamic c2b = f2b{dynamic}(0);
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f2b{dynamic}(""));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+4
-4
@@ -54,9 +54,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class1};
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call(0);
|
||||
dynamic c1b = f1b{dynamic}(0);
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f1b{dynamic}(""));
|
||||
(core::int) → self::Class2 f2a = #C2;
|
||||
self::expect(true, f2a is (core::int) → self::Class2);
|
||||
self::expect(false, f2a is (core::String) → self::Class2);
|
||||
@@ -68,9 +68,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class2};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call(0);
|
||||
dynamic c2b = f2b{dynamic}(0);
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f2b{dynamic}(""));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+4
-4
@@ -54,9 +54,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class1};
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call(0);
|
||||
dynamic c1b = f1b{dynamic}(0);
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f1b{dynamic}(""));
|
||||
(core::int) → self::Class2 f2a = #C2;
|
||||
self::expect(true, f2a is (core::int) → self::Class2);
|
||||
self::expect(false, f2a is (core::String) → self::Class2);
|
||||
@@ -68,9 +68,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class2};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call(0);
|
||||
dynamic c2b = f2b{dynamic}(0);
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f2b{dynamic}(""));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+4
-4
@@ -54,9 +54,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class1};
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call(0);
|
||||
dynamic c1b = f1b{dynamic}(0);
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f1b{dynamic}(""));
|
||||
(core::int) → self::Class2 f2a = #C2;
|
||||
self::expect(true, f2a is (core::int) → self::Class2);
|
||||
self::expect(false, f2a is (core::String) → self::Class2);
|
||||
@@ -68,9 +68,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class2};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call(0);
|
||||
dynamic c2b = f2b{dynamic}(0);
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f2b{dynamic}(""));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+4
-4
@@ -54,9 +54,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class1};
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call(0);
|
||||
dynamic c1b = f1b{dynamic}(0);
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f1b{dynamic}(""));
|
||||
(core::int) → self::Class2 f2a = #C2;
|
||||
self::expect(true, f2a is (core::int) → self::Class2);
|
||||
self::expect(false, f2a is (core::String) → self::Class2);
|
||||
@@ -68,9 +68,9 @@ static method testInferred() → dynamic {
|
||||
^" in "" as{TypeError} core::int){(core::int) → self::Class2};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call(0);
|
||||
dynamic c2b = f2b{dynamic}(0);
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(""));
|
||||
self::throws(() → dynamic => f2b{dynamic}(""));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -167,14 +167,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -192,10 +192,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -208,7 +208,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -226,8 +226,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -257,10 +257,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
() → self::Class7b f7a = #C8;
|
||||
self::Class7b c7a = f7a(){() → self::Class7b};
|
||||
self::expect(true, c7a is self::Class7a);
|
||||
|
||||
+12
-12
@@ -167,14 +167,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -192,10 +192,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -208,7 +208,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -226,8 +226,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -257,10 +257,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
() → self::Class7b f7a = #C8;
|
||||
self::Class7b c7a = f7a(){() → self::Class7b};
|
||||
self::expect(true, c7a is self::Class7a);
|
||||
|
||||
+12
-12
@@ -167,14 +167,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -192,10 +192,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -208,7 +208,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -226,8 +226,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -257,10 +257,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
() → self::Class7b f7a = #C8;
|
||||
self::Class7b c7a = f7a(){() → self::Class7b};
|
||||
self::expect(true, c7a is self::Class7a);
|
||||
|
||||
+12
-12
@@ -167,14 +167,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -192,10 +192,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -208,7 +208,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -226,8 +226,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -257,10 +257,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
() → self::Class7b f7a = #C8;
|
||||
self::Class7b c7a = f7a(){() → self::Class7b};
|
||||
self::expect(true, c7a is self::Class7a);
|
||||
|
||||
+12
-12
@@ -167,14 +167,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -192,10 +192,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -208,7 +208,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -226,8 +226,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -257,10 +257,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
() → self::Class7b f7a = #C8;
|
||||
self::Class7b c7a = f7a(){() → self::Class7b};
|
||||
self::expect(true, c7a is self::Class7a);
|
||||
|
||||
+6
-6
@@ -57,11 +57,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -74,11 +74,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -57,11 +57,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -74,11 +74,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -57,11 +57,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -74,11 +74,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -57,11 +57,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -74,11 +74,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+6
-6
@@ -57,11 +57,11 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1c = f1b{dynamic}.call();
|
||||
dynamic c1c = f1b{dynamic}();
|
||||
self::expect(42, c1c{dynamic}.field);
|
||||
dynamic c1d = f1b{dynamic}.call(87);
|
||||
dynamic c1d = f1b{dynamic}(87);
|
||||
self::expect(87, c1d{dynamic}.field);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f1b{dynamic}(42, 87));
|
||||
({field: core::int}) → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){({field: core::int}) → self::Class2};
|
||||
self::expect(42, c2a.{self::Class2::field}{core::int});
|
||||
@@ -74,11 +74,11 @@ Try removing the extra positional arguments.
|
||||
^" in f2a{<inapplicable>}.(87);
|
||||
};
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2c = f2b{dynamic}.call();
|
||||
dynamic c2c = f2b{dynamic}();
|
||||
self::expect(42, c2c{dynamic}.field);
|
||||
dynamic c2d = f2b{dynamic}.call(field: 87);
|
||||
dynamic c2d = f2b{dynamic}(field: 87);
|
||||
self::expect(87, c2d{dynamic}.field);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(87));
|
||||
self::throws(() → dynamic => f2b{dynamic}(87));
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+27
-27
@@ -130,9 +130,9 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(0);
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::A);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f1b{dynamic}(0));
|
||||
<unrelated X extends core::num>() → self::A f2a = #C2;
|
||||
self::A c2a = f2a<core::num>(){() → self::A};
|
||||
self::expect(true, c2a is self::A);
|
||||
@@ -144,12 +144,12 @@ Try removing the extra positional arguments.
|
||||
f2a<core::String>(){() → self::A};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::A);
|
||||
dynamic c2c = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2c = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2c is self::A);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}(0));
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
() → self::B<core::String> f3a = #C4;
|
||||
self::B<core::String> c3a = f3a(){() → self::B<core::String>};
|
||||
self::expect(true, c3a is self::B<core::String>);
|
||||
@@ -166,13 +166,13 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.<core::String>();
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call();
|
||||
dynamic c3b = f3b{dynamic}();
|
||||
self::expect(true, c3b is self::B<core::String>);
|
||||
self::expect(false, c3b is self::B<core::int>);
|
||||
self::expect(0, c3a.{self::B::field1}{core::int});
|
||||
self::expect("", c3a.{self::B::field2}{core::String});
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f3b{dynamic}(0));
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::String>());
|
||||
(core::int) → self::B<core::String> f3c = #C6;
|
||||
self::B<core::String> c3c = f3c(42){(core::int) → self::B<core::String>};
|
||||
self::expect(true, c3c is self::B<core::String>);
|
||||
@@ -192,14 +192,14 @@ Try removing the extra positional arguments.
|
||||
^" in f3c{<inapplicable>}.<core::String>(0);
|
||||
};
|
||||
dynamic f3d = #C6;
|
||||
dynamic c3d = f3d{dynamic}.call(42);
|
||||
dynamic c3d = f3d{dynamic}(42);
|
||||
self::expect(true, c3d is self::B<core::String>);
|
||||
self::expect(false, c3d is self::B<core::int>);
|
||||
self::expect(42, c3d{dynamic}.field1);
|
||||
self::expect("", c3d{dynamic}.field2);
|
||||
self::throws(() → dynamic => f3d{dynamic}.call());
|
||||
self::throws(() → dynamic => f3d{dynamic}.call(0, 0));
|
||||
self::throws(() → dynamic => f3d{dynamic}.call<core::String>(0));
|
||||
self::throws(() → dynamic => f3d{dynamic}());
|
||||
self::throws(() → dynamic => f3d{dynamic}(0, 0));
|
||||
self::throws(() → dynamic => f3d{dynamic}<core::String>(0));
|
||||
(core::int, core::String) → self::B<core::String> f3e = #C8;
|
||||
self::B<core::String> c3e = f3e(42, "foo"){(core::int, core::String) → self::B<core::String>};
|
||||
self::expect(true, c3e is self::B<core::String>);
|
||||
@@ -218,14 +218,14 @@ Try removing the extra positional arguments.
|
||||
^" in f3e{<inapplicable>}.<core::String>(0, "");
|
||||
};
|
||||
dynamic f3f = #C8;
|
||||
dynamic c3f = f3f{dynamic}.call(42, "foo");
|
||||
dynamic c3f = f3f{dynamic}(42, "foo");
|
||||
self::expect(true, c3f is self::B<core::String>);
|
||||
self::expect(false, c3f is self::B<core::int>);
|
||||
self::expect(42, c3f{dynamic}.field1);
|
||||
self::expect("foo", c3f{dynamic}.field2);
|
||||
self::throws(() → dynamic => c3f{dynamic}.call());
|
||||
self::throws(() → dynamic => c3f{dynamic}.call(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}.call<core::String>(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}());
|
||||
self::throws(() → dynamic => c3f{dynamic}(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}<core::String>(0));
|
||||
<X extends core::num>() → self::B<X> f4a = #C9;
|
||||
self::B<core::num> c4a = f4a<core::num>(){() → self::B<core::num>};
|
||||
self::expect(true, c4a is self::B<core::num>);
|
||||
@@ -241,14 +241,14 @@ Try removing the extra positional arguments.
|
||||
f4a<core::String>(){() → self::B<core::String>};
|
||||
};
|
||||
dynamic f4b = #C9;
|
||||
dynamic c4c = f4b{dynamic}.call();
|
||||
dynamic c4c = f4b{dynamic}();
|
||||
self::expect(true, c4c is self::B<core::num>);
|
||||
self::expect(false, c4c is self::B<core::int>);
|
||||
dynamic c4d = f4b{dynamic}.call<core::int>();
|
||||
dynamic c4d = f4b{dynamic}<core::int>();
|
||||
self::expect(true, c4d is self::B<core::int>);
|
||||
self::expect(false, c4d is self::B<core::double>);
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f4b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f4b{dynamic}(0));
|
||||
self::throws(() → dynamic => f4b{dynamic}<core::String>());
|
||||
<X extends core::num, unrelated Y extends core::String>() → self::B<X> f5a = #C10;
|
||||
self::B<core::num> c5a = f5a<core::num, core::String>(){() → self::B<core::num>};
|
||||
self::expect(true, c5a is self::B<core::num>);
|
||||
@@ -268,16 +268,16 @@ Try removing the extra positional arguments.
|
||||
f5a<core::num, core::num>(){() → self::B<core::num>};
|
||||
};
|
||||
dynamic f5b = #C10;
|
||||
dynamic c5c = f5b{dynamic}.call();
|
||||
dynamic c5c = f5b{dynamic}();
|
||||
self::expect(true, c5c is self::B<core::num>);
|
||||
self::expect(false, c5c is self::B<core::int>);
|
||||
dynamic c5d = f5b{dynamic}.call<core::int, core::String>();
|
||||
dynamic c5d = f5b{dynamic}<core::int, core::String>();
|
||||
self::expect(true, c5d is self::B<core::int>);
|
||||
self::expect(false, c5d is self::B<core::double>);
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::num, core::num>());
|
||||
self::throws(() → dynamic => f5b{dynamic}(0));
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::num, core::num>());
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+27
-27
@@ -130,9 +130,9 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(0);
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::A);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f1b{dynamic}(0));
|
||||
<unrelated X extends core::num>() → self::A f2a = #C2;
|
||||
self::A c2a = f2a<core::num>(){() → self::A};
|
||||
self::expect(true, c2a is self::A);
|
||||
@@ -144,12 +144,12 @@ Try removing the extra positional arguments.
|
||||
f2a<core::String>(){() → self::A};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::A);
|
||||
dynamic c2c = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2c = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2c is self::A);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}(0));
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
() → self::B<core::String> f3a = #C4;
|
||||
self::B<core::String> c3a = f3a(){() → self::B<core::String>};
|
||||
self::expect(true, c3a is self::B<core::String>);
|
||||
@@ -166,13 +166,13 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.<core::String>();
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call();
|
||||
dynamic c3b = f3b{dynamic}();
|
||||
self::expect(true, c3b is self::B<core::String>);
|
||||
self::expect(false, c3b is self::B<core::int>);
|
||||
self::expect(0, c3a.{self::B::field1}{core::int});
|
||||
self::expect("", c3a.{self::B::field2}{core::String});
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f3b{dynamic}(0));
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::String>());
|
||||
(core::int) → self::B<core::String> f3c = #C6;
|
||||
self::B<core::String> c3c = f3c(42){(core::int) → self::B<core::String>};
|
||||
self::expect(true, c3c is self::B<core::String>);
|
||||
@@ -192,14 +192,14 @@ Try removing the extra positional arguments.
|
||||
^" in f3c{<inapplicable>}.<core::String>(0);
|
||||
};
|
||||
dynamic f3d = #C6;
|
||||
dynamic c3d = f3d{dynamic}.call(42);
|
||||
dynamic c3d = f3d{dynamic}(42);
|
||||
self::expect(true, c3d is self::B<core::String>);
|
||||
self::expect(false, c3d is self::B<core::int>);
|
||||
self::expect(42, c3d{dynamic}.field1);
|
||||
self::expect("", c3d{dynamic}.field2);
|
||||
self::throws(() → dynamic => f3d{dynamic}.call());
|
||||
self::throws(() → dynamic => f3d{dynamic}.call(0, 0));
|
||||
self::throws(() → dynamic => f3d{dynamic}.call<core::String>(0));
|
||||
self::throws(() → dynamic => f3d{dynamic}());
|
||||
self::throws(() → dynamic => f3d{dynamic}(0, 0));
|
||||
self::throws(() → dynamic => f3d{dynamic}<core::String>(0));
|
||||
(core::int, core::String) → self::B<core::String> f3e = #C8;
|
||||
self::B<core::String> c3e = f3e(42, "foo"){(core::int, core::String) → self::B<core::String>};
|
||||
self::expect(true, c3e is self::B<core::String>);
|
||||
@@ -218,14 +218,14 @@ Try removing the extra positional arguments.
|
||||
^" in f3e{<inapplicable>}.<core::String>(0, "");
|
||||
};
|
||||
dynamic f3f = #C8;
|
||||
dynamic c3f = f3f{dynamic}.call(42, "foo");
|
||||
dynamic c3f = f3f{dynamic}(42, "foo");
|
||||
self::expect(true, c3f is self::B<core::String>);
|
||||
self::expect(false, c3f is self::B<core::int>);
|
||||
self::expect(42, c3f{dynamic}.field1);
|
||||
self::expect("foo", c3f{dynamic}.field2);
|
||||
self::throws(() → dynamic => c3f{dynamic}.call());
|
||||
self::throws(() → dynamic => c3f{dynamic}.call(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}.call<core::String>(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}());
|
||||
self::throws(() → dynamic => c3f{dynamic}(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}<core::String>(0));
|
||||
<X extends core::num>() → self::B<X> f4a = #C9;
|
||||
self::B<core::num> c4a = f4a<core::num>(){() → self::B<core::num>};
|
||||
self::expect(true, c4a is self::B<core::num>);
|
||||
@@ -241,14 +241,14 @@ Try removing the extra positional arguments.
|
||||
f4a<core::String>(){() → self::B<core::String>};
|
||||
};
|
||||
dynamic f4b = #C9;
|
||||
dynamic c4c = f4b{dynamic}.call();
|
||||
dynamic c4c = f4b{dynamic}();
|
||||
self::expect(true, c4c is self::B<core::num>);
|
||||
self::expect(false, c4c is self::B<core::int>);
|
||||
dynamic c4d = f4b{dynamic}.call<core::int>();
|
||||
dynamic c4d = f4b{dynamic}<core::int>();
|
||||
self::expect(true, c4d is self::B<core::int>);
|
||||
self::expect(false, c4d is self::B<core::double>);
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f4b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f4b{dynamic}(0));
|
||||
self::throws(() → dynamic => f4b{dynamic}<core::String>());
|
||||
<X extends core::num, unrelated Y extends core::String>() → self::B<X> f5a = #C10;
|
||||
self::B<core::num> c5a = f5a<core::num, core::String>(){() → self::B<core::num>};
|
||||
self::expect(true, c5a is self::B<core::num>);
|
||||
@@ -268,16 +268,16 @@ Try removing the extra positional arguments.
|
||||
f5a<core::num, core::num>(){() → self::B<core::num>};
|
||||
};
|
||||
dynamic f5b = #C10;
|
||||
dynamic c5c = f5b{dynamic}.call();
|
||||
dynamic c5c = f5b{dynamic}();
|
||||
self::expect(true, c5c is self::B<core::num>);
|
||||
self::expect(false, c5c is self::B<core::int>);
|
||||
dynamic c5d = f5b{dynamic}.call<core::int, core::String>();
|
||||
dynamic c5d = f5b{dynamic}<core::int, core::String>();
|
||||
self::expect(true, c5d is self::B<core::int>);
|
||||
self::expect(false, c5d is self::B<core::double>);
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::num, core::num>());
|
||||
self::throws(() → dynamic => f5b{dynamic}(0));
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::num, core::num>());
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+27
-27
@@ -130,9 +130,9 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(0);
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::A);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f1b{dynamic}(0));
|
||||
<unrelated X extends core::num>() → self::A f2a = #C2;
|
||||
self::A c2a = f2a<core::num>(){() → self::A};
|
||||
self::expect(true, c2a is self::A);
|
||||
@@ -144,12 +144,12 @@ Try removing the extra positional arguments.
|
||||
f2a<core::String>(){() → self::A};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::A);
|
||||
dynamic c2c = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2c = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2c is self::A);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}(0));
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
() → self::B<core::String> f3a = #C4;
|
||||
self::B<core::String> c3a = f3a(){() → self::B<core::String>};
|
||||
self::expect(true, c3a is self::B<core::String>);
|
||||
@@ -166,13 +166,13 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.<core::String>();
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call();
|
||||
dynamic c3b = f3b{dynamic}();
|
||||
self::expect(true, c3b is self::B<core::String>);
|
||||
self::expect(false, c3b is self::B<core::int>);
|
||||
self::expect(0, c3a.{self::B::field1}{core::int});
|
||||
self::expect("", c3a.{self::B::field2}{core::String});
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f3b{dynamic}(0));
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::String>());
|
||||
(core::int) → self::B<core::String> f3c = #C6;
|
||||
self::B<core::String> c3c = f3c(42){(core::int) → self::B<core::String>};
|
||||
self::expect(true, c3c is self::B<core::String>);
|
||||
@@ -192,14 +192,14 @@ Try removing the extra positional arguments.
|
||||
^" in f3c{<inapplicable>}.<core::String>(0);
|
||||
};
|
||||
dynamic f3d = #C6;
|
||||
dynamic c3d = f3d{dynamic}.call(42);
|
||||
dynamic c3d = f3d{dynamic}(42);
|
||||
self::expect(true, c3d is self::B<core::String>);
|
||||
self::expect(false, c3d is self::B<core::int>);
|
||||
self::expect(42, c3d{dynamic}.field1);
|
||||
self::expect("", c3d{dynamic}.field2);
|
||||
self::throws(() → dynamic => f3d{dynamic}.call());
|
||||
self::throws(() → dynamic => f3d{dynamic}.call(0, 0));
|
||||
self::throws(() → dynamic => f3d{dynamic}.call<core::String>(0));
|
||||
self::throws(() → dynamic => f3d{dynamic}());
|
||||
self::throws(() → dynamic => f3d{dynamic}(0, 0));
|
||||
self::throws(() → dynamic => f3d{dynamic}<core::String>(0));
|
||||
(core::int, core::String) → self::B<core::String> f3e = #C8;
|
||||
self::B<core::String> c3e = f3e(42, "foo"){(core::int, core::String) → self::B<core::String>};
|
||||
self::expect(true, c3e is self::B<core::String>);
|
||||
@@ -218,14 +218,14 @@ Try removing the extra positional arguments.
|
||||
^" in f3e{<inapplicable>}.<core::String>(0, "");
|
||||
};
|
||||
dynamic f3f = #C8;
|
||||
dynamic c3f = f3f{dynamic}.call(42, "foo");
|
||||
dynamic c3f = f3f{dynamic}(42, "foo");
|
||||
self::expect(true, c3f is self::B<core::String>);
|
||||
self::expect(false, c3f is self::B<core::int>);
|
||||
self::expect(42, c3f{dynamic}.field1);
|
||||
self::expect("foo", c3f{dynamic}.field2);
|
||||
self::throws(() → dynamic => c3f{dynamic}.call());
|
||||
self::throws(() → dynamic => c3f{dynamic}.call(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}.call<core::String>(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}());
|
||||
self::throws(() → dynamic => c3f{dynamic}(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}<core::String>(0));
|
||||
<X extends core::num>() → self::B<X> f4a = #C9;
|
||||
self::B<core::num> c4a = f4a<core::num>(){() → self::B<core::num>};
|
||||
self::expect(true, c4a is self::B<core::num>);
|
||||
@@ -241,14 +241,14 @@ Try removing the extra positional arguments.
|
||||
f4a<core::String>(){() → self::B<core::String>};
|
||||
};
|
||||
dynamic f4b = #C9;
|
||||
dynamic c4c = f4b{dynamic}.call();
|
||||
dynamic c4c = f4b{dynamic}();
|
||||
self::expect(true, c4c is self::B<core::num>);
|
||||
self::expect(false, c4c is self::B<core::int>);
|
||||
dynamic c4d = f4b{dynamic}.call<core::int>();
|
||||
dynamic c4d = f4b{dynamic}<core::int>();
|
||||
self::expect(true, c4d is self::B<core::int>);
|
||||
self::expect(false, c4d is self::B<core::double>);
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f4b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f4b{dynamic}(0));
|
||||
self::throws(() → dynamic => f4b{dynamic}<core::String>());
|
||||
<X extends core::num, unrelated Y extends core::String>() → self::B<X> f5a = #C10;
|
||||
self::B<core::num> c5a = f5a<core::num, core::String>(){() → self::B<core::num>};
|
||||
self::expect(true, c5a is self::B<core::num>);
|
||||
@@ -268,16 +268,16 @@ Try removing the extra positional arguments.
|
||||
f5a<core::num, core::num>(){() → self::B<core::num>};
|
||||
};
|
||||
dynamic f5b = #C10;
|
||||
dynamic c5c = f5b{dynamic}.call();
|
||||
dynamic c5c = f5b{dynamic}();
|
||||
self::expect(true, c5c is self::B<core::num>);
|
||||
self::expect(false, c5c is self::B<core::int>);
|
||||
dynamic c5d = f5b{dynamic}.call<core::int, core::String>();
|
||||
dynamic c5d = f5b{dynamic}<core::int, core::String>();
|
||||
self::expect(true, c5d is self::B<core::int>);
|
||||
self::expect(false, c5d is self::B<core::double>);
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::num, core::num>());
|
||||
self::throws(() → dynamic => f5b{dynamic}(0));
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::num, core::num>());
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+27
-27
@@ -130,9 +130,9 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(0);
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::A);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f1b{dynamic}(0));
|
||||
<unrelated X extends core::num>() → self::A f2a = #C2;
|
||||
self::A c2a = f2a<core::num>(){() → self::A};
|
||||
self::expect(true, c2a is self::A);
|
||||
@@ -144,12 +144,12 @@ Try removing the extra positional arguments.
|
||||
f2a<core::String>(){() → self::A};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::A);
|
||||
dynamic c2c = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2c = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2c is self::A);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}(0));
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
() → self::B<core::String> f3a = #C4;
|
||||
self::B<core::String> c3a = f3a(){() → self::B<core::String>};
|
||||
self::expect(true, c3a is self::B<core::String>);
|
||||
@@ -166,13 +166,13 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.<core::String>();
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call();
|
||||
dynamic c3b = f3b{dynamic}();
|
||||
self::expect(true, c3b is self::B<core::String>);
|
||||
self::expect(false, c3b is self::B<core::int>);
|
||||
self::expect(0, c3a.{self::B::field1}{core::int});
|
||||
self::expect("", c3a.{self::B::field2}{core::String});
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f3b{dynamic}(0));
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::String>());
|
||||
(core::int) → self::B<core::String> f3c = #C6;
|
||||
self::B<core::String> c3c = f3c(42){(core::int) → self::B<core::String>};
|
||||
self::expect(true, c3c is self::B<core::String>);
|
||||
@@ -192,14 +192,14 @@ Try removing the extra positional arguments.
|
||||
^" in f3c{<inapplicable>}.<core::String>(0);
|
||||
};
|
||||
dynamic f3d = #C6;
|
||||
dynamic c3d = f3d{dynamic}.call(42);
|
||||
dynamic c3d = f3d{dynamic}(42);
|
||||
self::expect(true, c3d is self::B<core::String>);
|
||||
self::expect(false, c3d is self::B<core::int>);
|
||||
self::expect(42, c3d{dynamic}.field1);
|
||||
self::expect("", c3d{dynamic}.field2);
|
||||
self::throws(() → dynamic => f3d{dynamic}.call());
|
||||
self::throws(() → dynamic => f3d{dynamic}.call(0, 0));
|
||||
self::throws(() → dynamic => f3d{dynamic}.call<core::String>(0));
|
||||
self::throws(() → dynamic => f3d{dynamic}());
|
||||
self::throws(() → dynamic => f3d{dynamic}(0, 0));
|
||||
self::throws(() → dynamic => f3d{dynamic}<core::String>(0));
|
||||
(core::int, core::String) → self::B<core::String> f3e = #C8;
|
||||
self::B<core::String> c3e = f3e(42, "foo"){(core::int, core::String) → self::B<core::String>};
|
||||
self::expect(true, c3e is self::B<core::String>);
|
||||
@@ -218,14 +218,14 @@ Try removing the extra positional arguments.
|
||||
^" in f3e{<inapplicable>}.<core::String>(0, "");
|
||||
};
|
||||
dynamic f3f = #C8;
|
||||
dynamic c3f = f3f{dynamic}.call(42, "foo");
|
||||
dynamic c3f = f3f{dynamic}(42, "foo");
|
||||
self::expect(true, c3f is self::B<core::String>);
|
||||
self::expect(false, c3f is self::B<core::int>);
|
||||
self::expect(42, c3f{dynamic}.field1);
|
||||
self::expect("foo", c3f{dynamic}.field2);
|
||||
self::throws(() → dynamic => c3f{dynamic}.call());
|
||||
self::throws(() → dynamic => c3f{dynamic}.call(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}.call<core::String>(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}());
|
||||
self::throws(() → dynamic => c3f{dynamic}(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}<core::String>(0));
|
||||
<X extends core::num>() → self::B<X> f4a = #C9;
|
||||
self::B<core::num> c4a = f4a<core::num>(){() → self::B<core::num>};
|
||||
self::expect(true, c4a is self::B<core::num>);
|
||||
@@ -241,14 +241,14 @@ Try removing the extra positional arguments.
|
||||
f4a<core::String>(){() → self::B<core::String>};
|
||||
};
|
||||
dynamic f4b = #C9;
|
||||
dynamic c4c = f4b{dynamic}.call();
|
||||
dynamic c4c = f4b{dynamic}();
|
||||
self::expect(true, c4c is self::B<core::num>);
|
||||
self::expect(false, c4c is self::B<core::int>);
|
||||
dynamic c4d = f4b{dynamic}.call<core::int>();
|
||||
dynamic c4d = f4b{dynamic}<core::int>();
|
||||
self::expect(true, c4d is self::B<core::int>);
|
||||
self::expect(false, c4d is self::B<core::double>);
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f4b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f4b{dynamic}(0));
|
||||
self::throws(() → dynamic => f4b{dynamic}<core::String>());
|
||||
<X extends core::num, unrelated Y extends core::String>() → self::B<X> f5a = #C10;
|
||||
self::B<core::num> c5a = f5a<core::num, core::String>(){() → self::B<core::num>};
|
||||
self::expect(true, c5a is self::B<core::num>);
|
||||
@@ -268,16 +268,16 @@ Try removing the extra positional arguments.
|
||||
f5a<core::num, core::num>(){() → self::B<core::num>};
|
||||
};
|
||||
dynamic f5b = #C10;
|
||||
dynamic c5c = f5b{dynamic}.call();
|
||||
dynamic c5c = f5b{dynamic}();
|
||||
self::expect(true, c5c is self::B<core::num>);
|
||||
self::expect(false, c5c is self::B<core::int>);
|
||||
dynamic c5d = f5b{dynamic}.call<core::int, core::String>();
|
||||
dynamic c5d = f5b{dynamic}<core::int, core::String>();
|
||||
self::expect(true, c5d is self::B<core::int>);
|
||||
self::expect(false, c5d is self::B<core::double>);
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::num, core::num>());
|
||||
self::throws(() → dynamic => f5b{dynamic}(0));
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::num, core::num>());
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+27
-27
@@ -130,9 +130,9 @@ Try removing the extra positional arguments.
|
||||
^" in f1a{<inapplicable>}.(0);
|
||||
};
|
||||
dynamic f1b = #C1;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::A);
|
||||
self::throws(() → dynamic => f1b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f1b{dynamic}(0));
|
||||
<unrelated X extends core::num>() → self::A f2a = #C2;
|
||||
self::A c2a = f2a<core::num>(){() → self::A};
|
||||
self::expect(true, c2a is self::A);
|
||||
@@ -144,12 +144,12 @@ Try removing the extra positional arguments.
|
||||
f2a<core::String>(){() → self::A};
|
||||
};
|
||||
dynamic f2b = #C2;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::A);
|
||||
dynamic c2c = f2b{dynamic}.call<core::int>();
|
||||
dynamic c2c = f2b{dynamic}<core::int>();
|
||||
self::expect(true, c2c is self::A);
|
||||
self::throws(() → dynamic => f2b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f2b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f2b{dynamic}(0));
|
||||
self::throws(() → dynamic => f2b{dynamic}<core::String>());
|
||||
() → self::B<core::String> f3a = #C4;
|
||||
self::B<core::String> c3a = f3a(){() → self::B<core::String>};
|
||||
self::expect(true, c3a is self::B<core::String>);
|
||||
@@ -166,13 +166,13 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.<core::String>();
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call();
|
||||
dynamic c3b = f3b{dynamic}();
|
||||
self::expect(true, c3b is self::B<core::String>);
|
||||
self::expect(false, c3b is self::B<core::int>);
|
||||
self::expect(0, c3a.{self::B::field1}{core::int});
|
||||
self::expect("", c3a.{self::B::field2}{core::String});
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f3b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f3b{dynamic}(0));
|
||||
self::throws(() → dynamic => f3b{dynamic}<core::String>());
|
||||
(core::int) → self::B<core::String> f3c = #C6;
|
||||
self::B<core::String> c3c = f3c(42){(core::int) → self::B<core::String>};
|
||||
self::expect(true, c3c is self::B<core::String>);
|
||||
@@ -192,14 +192,14 @@ Try removing the extra positional arguments.
|
||||
^" in f3c{<inapplicable>}.<core::String>(0);
|
||||
};
|
||||
dynamic f3d = #C6;
|
||||
dynamic c3d = f3d{dynamic}.call(42);
|
||||
dynamic c3d = f3d{dynamic}(42);
|
||||
self::expect(true, c3d is self::B<core::String>);
|
||||
self::expect(false, c3d is self::B<core::int>);
|
||||
self::expect(42, c3d{dynamic}.field1);
|
||||
self::expect("", c3d{dynamic}.field2);
|
||||
self::throws(() → dynamic => f3d{dynamic}.call());
|
||||
self::throws(() → dynamic => f3d{dynamic}.call(0, 0));
|
||||
self::throws(() → dynamic => f3d{dynamic}.call<core::String>(0));
|
||||
self::throws(() → dynamic => f3d{dynamic}());
|
||||
self::throws(() → dynamic => f3d{dynamic}(0, 0));
|
||||
self::throws(() → dynamic => f3d{dynamic}<core::String>(0));
|
||||
(core::int, core::String) → self::B<core::String> f3e = #C8;
|
||||
self::B<core::String> c3e = f3e(42, "foo"){(core::int, core::String) → self::B<core::String>};
|
||||
self::expect(true, c3e is self::B<core::String>);
|
||||
@@ -218,14 +218,14 @@ Try removing the extra positional arguments.
|
||||
^" in f3e{<inapplicable>}.<core::String>(0, "");
|
||||
};
|
||||
dynamic f3f = #C8;
|
||||
dynamic c3f = f3f{dynamic}.call(42, "foo");
|
||||
dynamic c3f = f3f{dynamic}(42, "foo");
|
||||
self::expect(true, c3f is self::B<core::String>);
|
||||
self::expect(false, c3f is self::B<core::int>);
|
||||
self::expect(42, c3f{dynamic}.field1);
|
||||
self::expect("foo", c3f{dynamic}.field2);
|
||||
self::throws(() → dynamic => c3f{dynamic}.call());
|
||||
self::throws(() → dynamic => c3f{dynamic}.call(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}.call<core::String>(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}());
|
||||
self::throws(() → dynamic => c3f{dynamic}(0));
|
||||
self::throws(() → dynamic => c3f{dynamic}<core::String>(0));
|
||||
<X extends core::num>() → self::B<X> f4a = #C9;
|
||||
self::B<core::num> c4a = f4a<core::num>(){() → self::B<core::num>};
|
||||
self::expect(true, c4a is self::B<core::num>);
|
||||
@@ -241,14 +241,14 @@ Try removing the extra positional arguments.
|
||||
f4a<core::String>(){() → self::B<core::String>};
|
||||
};
|
||||
dynamic f4b = #C9;
|
||||
dynamic c4c = f4b{dynamic}.call();
|
||||
dynamic c4c = f4b{dynamic}();
|
||||
self::expect(true, c4c is self::B<core::num>);
|
||||
self::expect(false, c4c is self::B<core::int>);
|
||||
dynamic c4d = f4b{dynamic}.call<core::int>();
|
||||
dynamic c4d = f4b{dynamic}<core::int>();
|
||||
self::expect(true, c4d is self::B<core::int>);
|
||||
self::expect(false, c4d is self::B<core::double>);
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f4b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f4b{dynamic}(0));
|
||||
self::throws(() → dynamic => f4b{dynamic}<core::String>());
|
||||
<X extends core::num, unrelated Y extends core::String>() → self::B<X> f5a = #C10;
|
||||
self::B<core::num> c5a = f5a<core::num, core::String>(){() → self::B<core::num>};
|
||||
self::expect(true, c5a is self::B<core::num>);
|
||||
@@ -268,16 +268,16 @@ Try removing the extra positional arguments.
|
||||
f5a<core::num, core::num>(){() → self::B<core::num>};
|
||||
};
|
||||
dynamic f5b = #C10;
|
||||
dynamic c5c = f5b{dynamic}.call();
|
||||
dynamic c5c = f5b{dynamic}();
|
||||
self::expect(true, c5c is self::B<core::num>);
|
||||
self::expect(false, c5c is self::B<core::int>);
|
||||
dynamic c5d = f5b{dynamic}.call<core::int, core::String>();
|
||||
dynamic c5d = f5b{dynamic}<core::int, core::String>();
|
||||
self::expect(true, c5d is self::B<core::int>);
|
||||
self::expect(false, c5d is self::B<core::double>);
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(0));
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::String, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call<core::num, core::num>());
|
||||
self::throws(() → dynamic => f5b{dynamic}(0));
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::String, core::String>());
|
||||
self::throws(() → dynamic => f5b{dynamic}<core::num, core::num>());
|
||||
}
|
||||
static method expect(dynamic expected, dynamic actual) → dynamic {
|
||||
if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual))
|
||||
|
||||
+12
-12
@@ -125,14 +125,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -150,10 +150,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -166,7 +166,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -184,8 +184,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -215,10 +215,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
() → self::Class7b f7a = #C8;
|
||||
self::Class7b c7a = f7a(){() → self::Class7b};
|
||||
self::expect(true, c7a is self::Class7a);
|
||||
|
||||
+12
-12
@@ -125,14 +125,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -150,10 +150,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -166,7 +166,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -184,8 +184,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -215,10 +215,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
() → self::Class7b f7a = #C8;
|
||||
self::Class7b c7a = f7a(){() → self::Class7b};
|
||||
self::expect(true, c7a is self::Class7a);
|
||||
|
||||
+12
-12
@@ -125,14 +125,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -150,10 +150,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -166,7 +166,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -184,8 +184,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -215,10 +215,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
() → self::Class7b f7a = #C8;
|
||||
self::Class7b c7a = f7a(){() → self::Class7b};
|
||||
self::expect(true, c7a is self::Class7a);
|
||||
|
||||
+12
-12
@@ -125,14 +125,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -150,10 +150,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -166,7 +166,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -184,8 +184,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -215,10 +215,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
() → self::Class7b f7a = #C8;
|
||||
self::Class7b c7a = f7a(){() → self::Class7b};
|
||||
self::expect(true, c7a is self::Class7a);
|
||||
|
||||
+12
-12
@@ -125,14 +125,14 @@ static method testNoArgs() → dynamic {
|
||||
self::Class1 c1a = f1a(){() → self::Class1};
|
||||
self::expect(true, c1a is self::Class1);
|
||||
dynamic f1b = #C2;
|
||||
dynamic c1b = f1b{dynamic}.call();
|
||||
dynamic c1b = f1b{dynamic}();
|
||||
self::expect(true, c1b is self::Class1);
|
||||
self::expect(true, core::identical(f1a, f1b));
|
||||
() → self::Class2 f2a = #C3;
|
||||
self::Class2 c2a = f2a(){() → self::Class2};
|
||||
self::expect(true, c2a is self::Class2);
|
||||
dynamic f2b = #C3;
|
||||
dynamic c2b = f2b{dynamic}.call();
|
||||
dynamic c2b = f2b{dynamic}();
|
||||
self::expect(true, c2b is self::Class2);
|
||||
self::expect(true, core::identical(f2a, f2b));
|
||||
}
|
||||
@@ -150,10 +150,10 @@ Try removing the extra positional arguments.
|
||||
^" in f3a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f3b = #C4;
|
||||
dynamic c3b = f3b{dynamic}.call(87);
|
||||
dynamic c3b = f3b{dynamic}(87);
|
||||
self::expect(87, c3b{dynamic}.field);
|
||||
self::throws(() → dynamic => f3b{dynamic}.call());
|
||||
self::throws(() → dynamic => f3b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f3b{dynamic}());
|
||||
self::throws(() → dynamic => f3b{dynamic}(42, 87));
|
||||
([core::int?]) → self::Class4 f4a = #C5;
|
||||
self::Class4 c4a = f4a(){([core::int?]) → self::Class4};
|
||||
self::expect(null, c4a.{self::Class4::field}{core::int?});
|
||||
@@ -166,7 +166,7 @@ Try removing the extra positional arguments.
|
||||
^" in f4a{<inapplicable>}.(42, 87);
|
||||
};
|
||||
dynamic f4b = #C5;
|
||||
self::throws(() → dynamic => f4b{dynamic}.call(42, 87));
|
||||
self::throws(() → dynamic => f4b{dynamic}(42, 87));
|
||||
(core::int, [core::int?]) → self::Class5 f5a = #C6;
|
||||
self::Class5 c5a = f5a(42){(core::int, [core::int?]) → self::Class5};
|
||||
self::expect(42, c5a.{self::Class5::field1}{core::int});
|
||||
@@ -184,8 +184,8 @@ Try removing the extra positional arguments.
|
||||
^" in f5a{<inapplicable>}.(42, 87, 123);
|
||||
};
|
||||
dynamic f5b = #C6;
|
||||
self::throws(() → dynamic => f5b{dynamic}.call());
|
||||
self::throws(() → dynamic => f5b{dynamic}.call(42, 87, 123));
|
||||
self::throws(() → dynamic => f5b{dynamic}());
|
||||
self::throws(() → dynamic => f5b{dynamic}(42, 87, 123));
|
||||
(core::int, {field2: core::int?, required field3: core::int}) → self::Class6 f6a = #C7;
|
||||
self::Class6 c6a = f6a(42, field3: 87){(core::int, {field2: core::int?, required field3: core::int}) → self::Class6};
|
||||
self::expect(42, c6a.{self::Class6::field1}{core::int});
|
||||
@@ -215,10 +215,10 @@ Try removing the extra positional arguments.
|
||||
self::expect(123, c6c.{self::Class6::field2}{core::int?});
|
||||
self::expect(42, c6c.{self::Class6::field3}{core::int});
|
||||
dynamic f6b = #C7;
|
||||
self::throws(() → dynamic => f6b{dynamic}.call());
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}.call(field1: 87, field2: 87));
|
||||
self::throws(() → dynamic => f6b{dynamic}());
|
||||
self::throws(() → dynamic => f6b{dynamic}(42), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(42, 87), inSoundModeOnly: true);
|
||||
self::throws(() → dynamic => f6b{dynamic}(field1: 87, field2: 87));
|
||||
() → self::Class7b f7a = #C8;
|
||||
self::Class7b c7a = f7a(){() → self::Class7b};
|
||||
self::expect(true, c7a is self::Class7a);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Errors: {
|
||||
}
|
||||
method /* from org-dartlang-debug:synthetic_debug_expression */ debugExpr(dynamic x) → dynamic
|
||||
return x{dynamic}.call(){dynamic}.fold<dart.core::int>(0, (dynamic previousValue, dynamic element) → dynamic => previousValue{dynamic}.+(element{dynamic}.length));
|
||||
return x{dynamic}(){dynamic}.fold<dart.core::int>(0, (dynamic previousValue, dynamic element) → dynamic => previousValue{dynamic}.+(element{dynamic}.length));
|
||||
|
||||
@@ -343,11 +343,11 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:17:19: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:18:14: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
}
|
||||
static extension-type-member method InlineClass|get#test(lowered final self::InlineClass /* = core::int */ #this) → () → void
|
||||
return () → void => self::InlineClass|test(#this);
|
||||
@@ -371,11 +371,11 @@ Try changing the operand or remove the type arguments.
|
||||
self::GenericInlineClass|test::T% c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:28:19: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
self::GenericInlineClass|test::T% c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:29:14: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
}
|
||||
static extension-type-member method GenericInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::GenericInlineClass<self::GenericInlineClass|get#test::T%>% /* = self::GenericInlineClass|get#test::T% */ #this) → (self::GenericInlineClass|get#test::T%) → void
|
||||
return (self::GenericInlineClass|get#test::T% t) → void => self::GenericInlineClass|test<self::GenericInlineClass|get#test::T%>(#this, t);
|
||||
@@ -399,11 +399,11 @@ Try changing the operand or remove the type arguments.
|
||||
() → self::FunctionInlineClass|test::T% c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:39:19: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
() → self::FunctionInlineClass|test::T% c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:40:14: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
self::FunctionInlineClass|test::T% d1 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
self::FunctionInlineClass|test::T% d2 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
self::FunctionInlineClass|test::T% d3 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
@@ -427,14 +427,14 @@ static extension-type-member method GenericFunctionInlineClass|test(lowered fina
|
||||
dynamic c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:19: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:24: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
^^" in #this.{<unresolved>}it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:24: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named 't'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^" in #this{<unresolved>}.t;
|
||||
dynamic c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:14: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:19: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
^^" in #this.{<unresolved>}it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:19: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named 't'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^" in #this{<unresolved>}.t;
|
||||
@@ -467,13 +467,13 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:74:19: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:75:14: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
dynamic d1 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic d2 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
dynamic d1 = (#this as{Unchecked} dynamic){dynamic}();
|
||||
dynamic d2 = (#this as{Unchecked} dynamic){dynamic}();
|
||||
dynamic d3 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic d4 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
}
|
||||
@@ -509,19 +509,19 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:93:19: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var c1 = this.a = 42; // Error
|
||||
^" in #this{<unresolved>}.a = 42;
|
||||
^" in #this.{<unresolved>}a = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:94:14: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var c2 = a = 42; // Error
|
||||
^" in #this{<unresolved>}.a = 42;
|
||||
^" in #this.{<unresolved>}a = 42;
|
||||
core::String c3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:95:19: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var c3 = this.b = '42'; // Error
|
||||
^" in #this{<unresolved>}.b = "42";
|
||||
^" in #this.{<unresolved>}b = "42";
|
||||
core::String c4 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:96:14: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var c4 = b = '42'; // Error
|
||||
^" in #this{<unresolved>}.b = "42";
|
||||
^" in #this.{<unresolved>}b = "42";
|
||||
dynamic d1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:97:20: Error: The method 'call' isn't defined for the class 'int'.
|
||||
Try correcting the name to the name of an existing method, or defining a method named 'call'.
|
||||
var d1 = this.a(); // Error
|
||||
@@ -566,7 +566,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int a3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:119:24: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var a3 = inlineClass.it = 42; // Error,
|
||||
^^" in inlineClass{<unresolved>}.it = 42;
|
||||
^^" in inlineClass.{<unresolved>}it = 42;
|
||||
core::String b1 = genericInlineClass as{Unchecked} core::String;
|
||||
invalid-type b2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:123:33: Error: The static type of the explicit instantiation operand must be a generic function type but is 'String'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -575,7 +575,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::String b3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:124:31: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<String>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var b3 = genericInlineClass.it = '42'; // Error, should not
|
||||
^^" in genericInlineClass{<unresolved>}.it = "42";
|
||||
^^" in genericInlineClass.{<unresolved>}it = "42";
|
||||
() → core::String c1 = functionInlineClass as{Unchecked} () → core::String;
|
||||
invalid-type c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:128:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'String Function()'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -586,7 +586,7 @@ Try changing the operand or remove the type arguments.
|
||||
() → core::String c5 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:131:32: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<String>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c5 = functionInlineClass.it = () => '42'; // Error, should not
|
||||
^^" in functionInlineClass{<unresolved>}.it = () → core::String => "42";
|
||||
^^" in functionInlineClass.{<unresolved>}it = () → core::String => "42";
|
||||
<T extends core::Object? = dynamic>() → T% d1 = genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%;
|
||||
() → core::int d2 = (genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%)<core::int>;
|
||||
() → core::int d3 = (genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%)<core::int>;
|
||||
@@ -595,17 +595,17 @@ Try correcting the name to the name of an existing setter, or defining a setter
|
||||
<T extends core::Object? = dynamic>() → Never d6 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:139:39: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var d6 = genericFunctionInlineClass.it = <T>() => throw ''; // Error, should
|
||||
^^" in genericFunctionInlineClass{<unresolved>}.it = <T extends core::Object? = dynamic>() → Never => throw "";
|
||||
^^" in genericFunctionInlineClass.{<unresolved>}it = <T extends core::Object? = dynamic>() → Never => throw "";
|
||||
dynamic e1 = dynamicInlineClass as{Unchecked} dynamic;
|
||||
invalid-type e2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:143:33: Error: The static type of the explicit instantiation operand must be a generic function type but is 'dynamic'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
var e2 = dynamicInlineClass.it<int>; // Error
|
||||
^";
|
||||
dynamic e3 = (dynamicInlineClass as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic e3 = (dynamicInlineClass as{Unchecked} dynamic){dynamic}();
|
||||
core::String e4 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:145:31: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var e4 = dynamicInlineClass.it = '42'; // Error, should not resolve
|
||||
^^" in dynamicInlineClass{<unresolved>}.it = "42";
|
||||
^^" in dynamicInlineClass.{<unresolved>}it = "42";
|
||||
core::int f1 = erroneousInlineClass as{Unchecked} core::int;
|
||||
invalid-type f2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:149:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'int'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -614,7 +614,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int f3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:150:33: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var f3 = erroneousInlineClass.a = 42; // Error, should not resolve
|
||||
^" in erroneousInlineClass{<unresolved>}.a = 42;
|
||||
^" in erroneousInlineClass.{<unresolved>}a = 42;
|
||||
core::String g1 = erroneousInlineClass as{Unchecked} core::String;
|
||||
invalid-type g2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:153:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'int'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -623,7 +623,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::String g3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:154:33: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var g3 = erroneousInlineClass.b = '42'; // Error, should not resolve
|
||||
^" in erroneousInlineClass{<unresolved>}.b = "42";
|
||||
^" in erroneousInlineClass.{<unresolved>}b = "42";
|
||||
dynamic h1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:157:31: Error: The getter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named '_it'.
|
||||
var h1 = privateInlineClass._it; // Error
|
||||
@@ -635,7 +635,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int h3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:159:31: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var h3 = privateInlineClass._it = 42; // Error
|
||||
^^^" in privateInlineClass{<unresolved>}._it = 42;
|
||||
^^^" in privateInlineClass.{<unresolved>}_it = 42;
|
||||
}
|
||||
|
||||
library;
|
||||
@@ -692,11 +692,11 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access_lib.dart:11:19: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var c1 = this._it = 42; // Error, should not resolve to extension method.
|
||||
^^^" in #this{<unresolved>}._it = 42;
|
||||
^^^" in #this.{<unresolved>}_it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access_lib.dart:12:14: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var c2 = _it = 42; // Error, should not resolve to extension method.
|
||||
^^^" in #this{<unresolved>}._it = 42;
|
||||
^^^" in #this.{<unresolved>}_it = 42;
|
||||
}
|
||||
static extension-type-member method PrivateInlineClass|get#test(lowered final self2::PrivateInlineClass /* = core::int */ #this) → () → void
|
||||
return () → void => self2::PrivateInlineClass|test(#this);
|
||||
|
||||
+27
-27
@@ -343,11 +343,11 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:17:19: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:18:14: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
}
|
||||
static extension-type-member method InlineClass|get#test(lowered final self::InlineClass /* = core::int */ #this) → () → void
|
||||
return () → void => self::InlineClass|test(#this);
|
||||
@@ -371,11 +371,11 @@ Try changing the operand or remove the type arguments.
|
||||
self::GenericInlineClass|test::T% c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:28:19: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
self::GenericInlineClass|test::T% c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:29:14: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
}
|
||||
static extension-type-member method GenericInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::GenericInlineClass<self::GenericInlineClass|get#test::T%>% /* = self::GenericInlineClass|get#test::T% */ #this) → (self::GenericInlineClass|get#test::T%) → void
|
||||
return (self::GenericInlineClass|get#test::T% t) → void => self::GenericInlineClass|test<self::GenericInlineClass|get#test::T%>(#this, t);
|
||||
@@ -399,11 +399,11 @@ Try changing the operand or remove the type arguments.
|
||||
() → self::FunctionInlineClass|test::T% c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:39:19: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
() → self::FunctionInlineClass|test::T% c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:40:14: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
self::FunctionInlineClass|test::T% d1 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
self::FunctionInlineClass|test::T% d2 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
self::FunctionInlineClass|test::T% d3 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
@@ -427,14 +427,14 @@ static extension-type-member method GenericFunctionInlineClass|test(lowered fina
|
||||
dynamic c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:19: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:24: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
^^" in #this.{<unresolved>}it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:24: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named 't'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^" in #this{<unresolved>}.t;
|
||||
dynamic c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:14: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:19: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
^^" in #this.{<unresolved>}it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:19: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named 't'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^" in #this{<unresolved>}.t;
|
||||
@@ -467,13 +467,13 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:74:19: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:75:14: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
dynamic d1 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic d2 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
dynamic d1 = (#this as{Unchecked} dynamic){dynamic}();
|
||||
dynamic d2 = (#this as{Unchecked} dynamic){dynamic}();
|
||||
dynamic d3 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic d4 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
}
|
||||
@@ -509,19 +509,19 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:93:19: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var c1 = this.a = 42; // Error
|
||||
^" in #this{<unresolved>}.a = 42;
|
||||
^" in #this.{<unresolved>}a = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:94:14: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var c2 = a = 42; // Error
|
||||
^" in #this{<unresolved>}.a = 42;
|
||||
^" in #this.{<unresolved>}a = 42;
|
||||
core::String c3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:95:19: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var c3 = this.b = '42'; // Error
|
||||
^" in #this{<unresolved>}.b = "42";
|
||||
^" in #this.{<unresolved>}b = "42";
|
||||
core::String c4 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:96:14: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var c4 = b = '42'; // Error
|
||||
^" in #this{<unresolved>}.b = "42";
|
||||
^" in #this.{<unresolved>}b = "42";
|
||||
dynamic d1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:97:20: Error: The method 'call' isn't defined for the class 'int'.
|
||||
Try correcting the name to the name of an existing method, or defining a method named 'call'.
|
||||
var d1 = this.a(); // Error
|
||||
@@ -566,7 +566,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int a3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:119:24: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var a3 = inlineClass.it = 42; // Error,
|
||||
^^" in inlineClass{<unresolved>}.it = 42;
|
||||
^^" in inlineClass.{<unresolved>}it = 42;
|
||||
core::String b1 = genericInlineClass as{Unchecked} core::String;
|
||||
invalid-type b2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:123:33: Error: The static type of the explicit instantiation operand must be a generic function type but is 'String'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -575,7 +575,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::String b3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:124:31: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<String>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var b3 = genericInlineClass.it = '42'; // Error, should not
|
||||
^^" in genericInlineClass{<unresolved>}.it = "42";
|
||||
^^" in genericInlineClass.{<unresolved>}it = "42";
|
||||
() → core::String c1 = functionInlineClass as{Unchecked} () → core::String;
|
||||
invalid-type c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:128:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'String Function()'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -586,7 +586,7 @@ Try changing the operand or remove the type arguments.
|
||||
() → core::String c5 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:131:32: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<String>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c5 = functionInlineClass.it = () => '42'; // Error, should not
|
||||
^^" in functionInlineClass{<unresolved>}.it = () → core::String => "42";
|
||||
^^" in functionInlineClass.{<unresolved>}it = () → core::String => "42";
|
||||
<T extends core::Object? = dynamic>() → T% d1 = genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%;
|
||||
() → core::int d2 = (genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%)<core::int>;
|
||||
() → core::int d3 = (genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%)<core::int>;
|
||||
@@ -595,17 +595,17 @@ Try correcting the name to the name of an existing setter, or defining a setter
|
||||
<T extends core::Object? = dynamic>() → Never d6 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:139:39: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var d6 = genericFunctionInlineClass.it = <T>() => throw ''; // Error, should
|
||||
^^" in genericFunctionInlineClass{<unresolved>}.it = <T extends core::Object? = dynamic>() → Never => throw "";
|
||||
^^" in genericFunctionInlineClass.{<unresolved>}it = <T extends core::Object? = dynamic>() → Never => throw "";
|
||||
dynamic e1 = dynamicInlineClass as{Unchecked} dynamic;
|
||||
invalid-type e2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:143:33: Error: The static type of the explicit instantiation operand must be a generic function type but is 'dynamic'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
var e2 = dynamicInlineClass.it<int>; // Error
|
||||
^";
|
||||
dynamic e3 = (dynamicInlineClass as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic e3 = (dynamicInlineClass as{Unchecked} dynamic){dynamic}();
|
||||
core::String e4 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:145:31: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var e4 = dynamicInlineClass.it = '42'; // Error, should not resolve
|
||||
^^" in dynamicInlineClass{<unresolved>}.it = "42";
|
||||
^^" in dynamicInlineClass.{<unresolved>}it = "42";
|
||||
core::int f1 = erroneousInlineClass as{Unchecked} core::int;
|
||||
invalid-type f2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:149:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'int'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -614,7 +614,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int f3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:150:33: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var f3 = erroneousInlineClass.a = 42; // Error, should not resolve
|
||||
^" in erroneousInlineClass{<unresolved>}.a = 42;
|
||||
^" in erroneousInlineClass.{<unresolved>}a = 42;
|
||||
core::String g1 = erroneousInlineClass as{Unchecked} core::String;
|
||||
invalid-type g2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:153:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'int'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -623,7 +623,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::String g3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:154:33: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var g3 = erroneousInlineClass.b = '42'; // Error, should not resolve
|
||||
^" in erroneousInlineClass{<unresolved>}.b = "42";
|
||||
^" in erroneousInlineClass.{<unresolved>}b = "42";
|
||||
dynamic h1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:157:31: Error: The getter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named '_it'.
|
||||
var h1 = privateInlineClass._it; // Error
|
||||
@@ -635,7 +635,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int h3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:159:31: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var h3 = privateInlineClass._it = 42; // Error
|
||||
^^^" in privateInlineClass{<unresolved>}._it = 42;
|
||||
^^^" in privateInlineClass.{<unresolved>}_it = 42;
|
||||
}
|
||||
|
||||
library;
|
||||
@@ -692,11 +692,11 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access_lib.dart:11:19: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var c1 = this._it = 42; // Error, should not resolve to extension method.
|
||||
^^^" in #this{<unresolved>}._it = 42;
|
||||
^^^" in #this.{<unresolved>}_it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access_lib.dart:12:14: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var c2 = _it = 42; // Error, should not resolve to extension method.
|
||||
^^^" in #this{<unresolved>}._it = 42;
|
||||
^^^" in #this.{<unresolved>}_it = 42;
|
||||
}
|
||||
static extension-type-member method PrivateInlineClass|get#test(lowered final self2::PrivateInlineClass /* = core::int */ #this) → () → void
|
||||
return () → void => self2::PrivateInlineClass|test(#this);
|
||||
|
||||
@@ -343,11 +343,11 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:17:19: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:18:14: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
}
|
||||
static extension-type-member method InlineClass|get#test(lowered final self::InlineClass /* = core::int */ #this) → () → void
|
||||
return () → void => self::InlineClass|test(#this);
|
||||
@@ -371,11 +371,11 @@ Try changing the operand or remove the type arguments.
|
||||
self::GenericInlineClass|test::T% c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:28:19: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
self::GenericInlineClass|test::T% c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:29:14: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
}
|
||||
static extension-type-member method GenericInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::GenericInlineClass<self::GenericInlineClass|get#test::T%>% /* = self::GenericInlineClass|get#test::T% */ #this) → (self::GenericInlineClass|get#test::T%) → void
|
||||
return (self::GenericInlineClass|get#test::T% t) → void => self::GenericInlineClass|test<self::GenericInlineClass|get#test::T%>(#this, t);
|
||||
@@ -399,11 +399,11 @@ Try changing the operand or remove the type arguments.
|
||||
() → self::FunctionInlineClass|test::T% c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:39:19: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
() → self::FunctionInlineClass|test::T% c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:40:14: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
self::FunctionInlineClass|test::T% d1 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
self::FunctionInlineClass|test::T% d2 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
self::FunctionInlineClass|test::T% d3 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
@@ -427,14 +427,14 @@ static extension-type-member method GenericFunctionInlineClass|test(lowered fina
|
||||
dynamic c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:19: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:24: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
^^" in #this.{<unresolved>}it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:24: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named 't'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^" in #this{<unresolved>}.t;
|
||||
dynamic c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:14: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:19: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
^^" in #this.{<unresolved>}it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:19: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named 't'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^" in #this{<unresolved>}.t;
|
||||
@@ -467,13 +467,13 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:74:19: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:75:14: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
dynamic d1 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic d2 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
dynamic d1 = (#this as{Unchecked} dynamic){dynamic}();
|
||||
dynamic d2 = (#this as{Unchecked} dynamic){dynamic}();
|
||||
dynamic d3 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic d4 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
}
|
||||
@@ -509,19 +509,19 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:93:19: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var c1 = this.a = 42; // Error
|
||||
^" in #this{<unresolved>}.a = 42;
|
||||
^" in #this.{<unresolved>}a = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:94:14: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var c2 = a = 42; // Error
|
||||
^" in #this{<unresolved>}.a = 42;
|
||||
^" in #this.{<unresolved>}a = 42;
|
||||
core::String c3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:95:19: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var c3 = this.b = '42'; // Error
|
||||
^" in #this{<unresolved>}.b = "42";
|
||||
^" in #this.{<unresolved>}b = "42";
|
||||
core::String c4 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:96:14: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var c4 = b = '42'; // Error
|
||||
^" in #this{<unresolved>}.b = "42";
|
||||
^" in #this.{<unresolved>}b = "42";
|
||||
dynamic d1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:97:20: Error: The method 'call' isn't defined for the class 'int'.
|
||||
Try correcting the name to the name of an existing method, or defining a method named 'call'.
|
||||
var d1 = this.a(); // Error
|
||||
@@ -566,7 +566,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int a3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:119:24: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var a3 = inlineClass.it = 42; // Error,
|
||||
^^" in inlineClass{<unresolved>}.it = 42;
|
||||
^^" in inlineClass.{<unresolved>}it = 42;
|
||||
core::String b1 = genericInlineClass as{Unchecked} core::String;
|
||||
invalid-type b2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:123:33: Error: The static type of the explicit instantiation operand must be a generic function type but is 'String'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -575,7 +575,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::String b3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:124:31: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<String>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var b3 = genericInlineClass.it = '42'; // Error, should not
|
||||
^^" in genericInlineClass{<unresolved>}.it = "42";
|
||||
^^" in genericInlineClass.{<unresolved>}it = "42";
|
||||
() → core::String c1 = functionInlineClass as{Unchecked} () → core::String;
|
||||
invalid-type c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:128:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'String Function()'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -586,7 +586,7 @@ Try changing the operand or remove the type arguments.
|
||||
() → core::String c5 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:131:32: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<String>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c5 = functionInlineClass.it = () => '42'; // Error, should not
|
||||
^^" in functionInlineClass{<unresolved>}.it = () → core::String => "42";
|
||||
^^" in functionInlineClass.{<unresolved>}it = () → core::String => "42";
|
||||
<T extends core::Object? = dynamic>() → T% d1 = genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%;
|
||||
() → core::int d2 = (genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%)<core::int>;
|
||||
() → core::int d3 = (genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%)<core::int>;
|
||||
@@ -595,17 +595,17 @@ Try correcting the name to the name of an existing setter, or defining a setter
|
||||
<T extends core::Object? = dynamic>() → Never d6 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:139:39: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var d6 = genericFunctionInlineClass.it = <T>() => throw ''; // Error, should
|
||||
^^" in genericFunctionInlineClass{<unresolved>}.it = <T extends core::Object? = dynamic>() → Never => throw "";
|
||||
^^" in genericFunctionInlineClass.{<unresolved>}it = <T extends core::Object? = dynamic>() → Never => throw "";
|
||||
dynamic e1 = dynamicInlineClass as{Unchecked} dynamic;
|
||||
invalid-type e2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:143:33: Error: The static type of the explicit instantiation operand must be a generic function type but is 'dynamic'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
var e2 = dynamicInlineClass.it<int>; // Error
|
||||
^";
|
||||
dynamic e3 = (dynamicInlineClass as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic e3 = (dynamicInlineClass as{Unchecked} dynamic){dynamic}();
|
||||
core::String e4 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:145:31: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var e4 = dynamicInlineClass.it = '42'; // Error, should not resolve
|
||||
^^" in dynamicInlineClass{<unresolved>}.it = "42";
|
||||
^^" in dynamicInlineClass.{<unresolved>}it = "42";
|
||||
core::int f1 = erroneousInlineClass as{Unchecked} core::int;
|
||||
invalid-type f2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:149:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'int'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -614,7 +614,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int f3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:150:33: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var f3 = erroneousInlineClass.a = 42; // Error, should not resolve
|
||||
^" in erroneousInlineClass{<unresolved>}.a = 42;
|
||||
^" in erroneousInlineClass.{<unresolved>}a = 42;
|
||||
core::String g1 = erroneousInlineClass as{Unchecked} core::String;
|
||||
invalid-type g2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:153:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'int'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -623,7 +623,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::String g3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:154:33: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var g3 = erroneousInlineClass.b = '42'; // Error, should not resolve
|
||||
^" in erroneousInlineClass{<unresolved>}.b = "42";
|
||||
^" in erroneousInlineClass.{<unresolved>}b = "42";
|
||||
dynamic h1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:157:31: Error: The getter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named '_it'.
|
||||
var h1 = privateInlineClass._it; // Error
|
||||
@@ -635,7 +635,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int h3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:159:31: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var h3 = privateInlineClass._it = 42; // Error
|
||||
^^^" in privateInlineClass{<unresolved>}._it = 42;
|
||||
^^^" in privateInlineClass.{<unresolved>}_it = 42;
|
||||
}
|
||||
|
||||
library;
|
||||
@@ -692,11 +692,11 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access_lib.dart:11:19: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var c1 = this._it = 42; // Error, should not resolve to extension method.
|
||||
^^^" in #this{<unresolved>}._it = 42;
|
||||
^^^" in #this.{<unresolved>}_it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access_lib.dart:12:14: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var c2 = _it = 42; // Error, should not resolve to extension method.
|
||||
^^^" in #this{<unresolved>}._it = 42;
|
||||
^^^" in #this.{<unresolved>}_it = 42;
|
||||
}
|
||||
static extension-type-member method PrivateInlineClass|get#test(lowered final self2::PrivateInlineClass /* = core::int */ #this) → () → void
|
||||
return () → void => self2::PrivateInlineClass|test(#this);
|
||||
|
||||
@@ -343,11 +343,11 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:17:19: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:18:14: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
}
|
||||
static extension-type-member method InlineClass|get#test(lowered final self::InlineClass /* = core::int */ #this) → () → void
|
||||
return () → void => self::InlineClass|test(#this);
|
||||
@@ -371,11 +371,11 @@ Try changing the operand or remove the type arguments.
|
||||
self::GenericInlineClass|test::T% c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:28:19: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
self::GenericInlineClass|test::T% c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:29:14: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
}
|
||||
static extension-type-member method GenericInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::GenericInlineClass<self::GenericInlineClass|get#test::T%>% /* = self::GenericInlineClass|get#test::T% */ #this) → (self::GenericInlineClass|get#test::T%) → void
|
||||
return (self::GenericInlineClass|get#test::T% t) → void => self::GenericInlineClass|test<self::GenericInlineClass|get#test::T%>(#this, t);
|
||||
@@ -399,11 +399,11 @@ Try changing the operand or remove the type arguments.
|
||||
() → self::FunctionInlineClass|test::T% c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:39:19: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
() → self::FunctionInlineClass|test::T% c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:40:14: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
self::FunctionInlineClass|test::T% d1 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
self::FunctionInlineClass|test::T% d2 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
self::FunctionInlineClass|test::T% d3 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
@@ -427,14 +427,14 @@ static extension-type-member method GenericFunctionInlineClass|test(lowered fina
|
||||
dynamic c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:19: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:24: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
^^" in #this.{<unresolved>}it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:24: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named 't'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^" in #this{<unresolved>}.t;
|
||||
dynamic c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:14: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:19: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
^^" in #this.{<unresolved>}it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:19: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named 't'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^" in #this{<unresolved>}.t;
|
||||
@@ -467,13 +467,13 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:74:19: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:75:14: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
dynamic d1 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic d2 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
dynamic d1 = (#this as{Unchecked} dynamic){dynamic}();
|
||||
dynamic d2 = (#this as{Unchecked} dynamic){dynamic}();
|
||||
dynamic d3 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic d4 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
}
|
||||
@@ -509,19 +509,19 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:93:19: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var c1 = this.a = 42; // Error
|
||||
^" in #this{<unresolved>}.a = 42;
|
||||
^" in #this.{<unresolved>}a = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:94:14: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var c2 = a = 42; // Error
|
||||
^" in #this{<unresolved>}.a = 42;
|
||||
^" in #this.{<unresolved>}a = 42;
|
||||
core::String c3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:95:19: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var c3 = this.b = '42'; // Error
|
||||
^" in #this{<unresolved>}.b = "42";
|
||||
^" in #this.{<unresolved>}b = "42";
|
||||
core::String c4 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:96:14: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var c4 = b = '42'; // Error
|
||||
^" in #this{<unresolved>}.b = "42";
|
||||
^" in #this.{<unresolved>}b = "42";
|
||||
dynamic d1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:97:20: Error: The method 'call' isn't defined for the class 'int'.
|
||||
Try correcting the name to the name of an existing method, or defining a method named 'call'.
|
||||
var d1 = this.a(); // Error
|
||||
@@ -566,7 +566,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int a3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:119:24: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var a3 = inlineClass.it = 42; // Error,
|
||||
^^" in inlineClass{<unresolved>}.it = 42;
|
||||
^^" in inlineClass.{<unresolved>}it = 42;
|
||||
core::String b1 = genericInlineClass as{Unchecked} core::String;
|
||||
invalid-type b2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:123:33: Error: The static type of the explicit instantiation operand must be a generic function type but is 'String'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -575,7 +575,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::String b3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:124:31: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<String>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var b3 = genericInlineClass.it = '42'; // Error, should not
|
||||
^^" in genericInlineClass{<unresolved>}.it = "42";
|
||||
^^" in genericInlineClass.{<unresolved>}it = "42";
|
||||
() → core::String c1 = functionInlineClass as{Unchecked} () → core::String;
|
||||
invalid-type c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:128:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'String Function()'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -586,7 +586,7 @@ Try changing the operand or remove the type arguments.
|
||||
() → core::String c5 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:131:32: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<String>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c5 = functionInlineClass.it = () => '42'; // Error, should not
|
||||
^^" in functionInlineClass{<unresolved>}.it = () → core::String => "42";
|
||||
^^" in functionInlineClass.{<unresolved>}it = () → core::String => "42";
|
||||
<T extends core::Object? = dynamic>() → T% d1 = genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%;
|
||||
() → core::int d2 = (genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%)<core::int>;
|
||||
() → core::int d3 = (genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%)<core::int>;
|
||||
@@ -595,17 +595,17 @@ Try correcting the name to the name of an existing setter, or defining a setter
|
||||
<T extends core::Object? = dynamic>() → Never d6 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:139:39: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var d6 = genericFunctionInlineClass.it = <T>() => throw ''; // Error, should
|
||||
^^" in genericFunctionInlineClass{<unresolved>}.it = <T extends core::Object? = dynamic>() → Never => throw "";
|
||||
^^" in genericFunctionInlineClass.{<unresolved>}it = <T extends core::Object? = dynamic>() → Never => throw "";
|
||||
dynamic e1 = dynamicInlineClass as{Unchecked} dynamic;
|
||||
invalid-type e2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:143:33: Error: The static type of the explicit instantiation operand must be a generic function type but is 'dynamic'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
var e2 = dynamicInlineClass.it<int>; // Error
|
||||
^";
|
||||
dynamic e3 = (dynamicInlineClass as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic e3 = (dynamicInlineClass as{Unchecked} dynamic){dynamic}();
|
||||
core::String e4 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:145:31: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var e4 = dynamicInlineClass.it = '42'; // Error, should not resolve
|
||||
^^" in dynamicInlineClass{<unresolved>}.it = "42";
|
||||
^^" in dynamicInlineClass.{<unresolved>}it = "42";
|
||||
core::int f1 = erroneousInlineClass as{Unchecked} core::int;
|
||||
invalid-type f2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:149:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'int'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -614,7 +614,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int f3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:150:33: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var f3 = erroneousInlineClass.a = 42; // Error, should not resolve
|
||||
^" in erroneousInlineClass{<unresolved>}.a = 42;
|
||||
^" in erroneousInlineClass.{<unresolved>}a = 42;
|
||||
core::String g1 = erroneousInlineClass as{Unchecked} core::String;
|
||||
invalid-type g2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:153:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'int'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -623,7 +623,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::String g3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:154:33: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var g3 = erroneousInlineClass.b = '42'; // Error, should not resolve
|
||||
^" in erroneousInlineClass{<unresolved>}.b = "42";
|
||||
^" in erroneousInlineClass.{<unresolved>}b = "42";
|
||||
dynamic h1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:157:31: Error: The getter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named '_it'.
|
||||
var h1 = privateInlineClass._it; // Error
|
||||
@@ -635,7 +635,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int h3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:159:31: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var h3 = privateInlineClass._it = 42; // Error
|
||||
^^^" in privateInlineClass{<unresolved>}._it = 42;
|
||||
^^^" in privateInlineClass.{<unresolved>}_it = 42;
|
||||
}
|
||||
|
||||
library;
|
||||
@@ -692,11 +692,11 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access_lib.dart:11:19: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var c1 = this._it = 42; // Error, should not resolve to extension method.
|
||||
^^^" in #this{<unresolved>}._it = 42;
|
||||
^^^" in #this.{<unresolved>}_it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access_lib.dart:12:14: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var c2 = _it = 42; // Error, should not resolve to extension method.
|
||||
^^^" in #this{<unresolved>}._it = 42;
|
||||
^^^" in #this.{<unresolved>}_it = 42;
|
||||
}
|
||||
static extension-type-member method PrivateInlineClass|get#test(lowered final self2::PrivateInlineClass /* = core::int */ #this) → () → void
|
||||
return () → void => self2::PrivateInlineClass|test(#this);
|
||||
|
||||
@@ -343,11 +343,11 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:17:19: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:18:14: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
}
|
||||
static extension-type-member method InlineClass|get#test(lowered final self::InlineClass /* = core::int */ #this) → () → void
|
||||
return () → void => self::InlineClass|test(#this);
|
||||
@@ -371,11 +371,11 @@ Try changing the operand or remove the type arguments.
|
||||
self::GenericInlineClass|test::T% c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:28:19: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
self::GenericInlineClass|test::T% c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:29:14: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
}
|
||||
static extension-type-member method GenericInlineClass|get#test<T extends core::Object? = dynamic>(lowered final self::GenericInlineClass<self::GenericInlineClass|get#test::T%>% /* = self::GenericInlineClass|get#test::T% */ #this) → (self::GenericInlineClass|get#test::T%) → void
|
||||
return (self::GenericInlineClass|get#test::T% t) → void => self::GenericInlineClass|test<self::GenericInlineClass|get#test::T%>(#this, t);
|
||||
@@ -399,11 +399,11 @@ Try changing the operand or remove the type arguments.
|
||||
() → self::FunctionInlineClass|test::T% c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:39:19: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
() → self::FunctionInlineClass|test::T% c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:40:14: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<T>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = t;
|
||||
^^" in #this.{<unresolved>}it = t;
|
||||
self::FunctionInlineClass|test::T% d1 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
self::FunctionInlineClass|test::T% d2 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
self::FunctionInlineClass|test::T% d3 = (#this as{Unchecked} () → self::FunctionInlineClass|test::T%)(){() → self::FunctionInlineClass|test::T%};
|
||||
@@ -427,14 +427,14 @@ static extension-type-member method GenericFunctionInlineClass|test(lowered fina
|
||||
dynamic c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:19: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:24: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
^^" in #this.{<unresolved>}it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:56:24: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named 't'.
|
||||
var c1 = this.it = t; // Error, should not resolve to extension method.
|
||||
^" in #this{<unresolved>}.t;
|
||||
dynamic c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:14: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:19: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
^^" in #this.{<unresolved>}it = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:57:19: Error: The getter 't' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named 't'.
|
||||
var c2 = it = t; // Error, should not resolve to extension method.
|
||||
^" in #this{<unresolved>}.t;
|
||||
@@ -467,13 +467,13 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:74:19: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c1 = this.it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:75:14: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c2 = it = 42; // Error, should not resolve to extension method.
|
||||
^^" in #this{<unresolved>}.it = 42;
|
||||
dynamic d1 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic d2 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
^^" in #this.{<unresolved>}it = 42;
|
||||
dynamic d1 = (#this as{Unchecked} dynamic){dynamic}();
|
||||
dynamic d2 = (#this as{Unchecked} dynamic){dynamic}();
|
||||
dynamic d3 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic d4 = (#this as{Unchecked} dynamic){dynamic}.call();
|
||||
}
|
||||
@@ -509,19 +509,19 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:93:19: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var c1 = this.a = 42; // Error
|
||||
^" in #this{<unresolved>}.a = 42;
|
||||
^" in #this.{<unresolved>}a = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:94:14: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var c2 = a = 42; // Error
|
||||
^" in #this{<unresolved>}.a = 42;
|
||||
^" in #this.{<unresolved>}a = 42;
|
||||
core::String c3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:95:19: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var c3 = this.b = '42'; // Error
|
||||
^" in #this{<unresolved>}.b = "42";
|
||||
^" in #this.{<unresolved>}b = "42";
|
||||
core::String c4 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:96:14: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var c4 = b = '42'; // Error
|
||||
^" in #this{<unresolved>}.b = "42";
|
||||
^" in #this.{<unresolved>}b = "42";
|
||||
dynamic d1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:97:20: Error: The method 'call' isn't defined for the class 'int'.
|
||||
Try correcting the name to the name of an existing method, or defining a method named 'call'.
|
||||
var d1 = this.a(); // Error
|
||||
@@ -566,7 +566,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int a3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:119:24: Error: The setter 'it' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var a3 = inlineClass.it = 42; // Error,
|
||||
^^" in inlineClass{<unresolved>}.it = 42;
|
||||
^^" in inlineClass.{<unresolved>}it = 42;
|
||||
core::String b1 = genericInlineClass as{Unchecked} core::String;
|
||||
invalid-type b2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:123:33: Error: The static type of the explicit instantiation operand must be a generic function type but is 'String'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -575,7 +575,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::String b3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:124:31: Error: The setter 'it' isn't defined for the class 'GenericInlineClass<String>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var b3 = genericInlineClass.it = '42'; // Error, should not
|
||||
^^" in genericInlineClass{<unresolved>}.it = "42";
|
||||
^^" in genericInlineClass.{<unresolved>}it = "42";
|
||||
() → core::String c1 = functionInlineClass as{Unchecked} () → core::String;
|
||||
invalid-type c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:128:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'String Function()'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -586,7 +586,7 @@ Try changing the operand or remove the type arguments.
|
||||
() → core::String c5 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:131:32: Error: The setter 'it' isn't defined for the class 'FunctionInlineClass<String>'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var c5 = functionInlineClass.it = () => '42'; // Error, should not
|
||||
^^" in functionInlineClass{<unresolved>}.it = () → core::String => "42";
|
||||
^^" in functionInlineClass.{<unresolved>}it = () → core::String => "42";
|
||||
<T extends core::Object? = dynamic>() → T% d1 = genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%;
|
||||
() → core::int d2 = (genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%)<core::int>;
|
||||
() → core::int d3 = (genericFunctionInlineClass as{Unchecked} <T extends core::Object? = dynamic>() → T%)<core::int>;
|
||||
@@ -595,17 +595,17 @@ Try correcting the name to the name of an existing setter, or defining a setter
|
||||
<T extends core::Object? = dynamic>() → Never d6 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:139:39: Error: The setter 'it' isn't defined for the class 'GenericFunctionInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var d6 = genericFunctionInlineClass.it = <T>() => throw ''; // Error, should
|
||||
^^" in genericFunctionInlineClass{<unresolved>}.it = <T extends core::Object? = dynamic>() → Never => throw "";
|
||||
^^" in genericFunctionInlineClass.{<unresolved>}it = <T extends core::Object? = dynamic>() → Never => throw "";
|
||||
dynamic e1 = dynamicInlineClass as{Unchecked} dynamic;
|
||||
invalid-type e2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:143:33: Error: The static type of the explicit instantiation operand must be a generic function type but is 'dynamic'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
var e2 = dynamicInlineClass.it<int>; // Error
|
||||
^";
|
||||
dynamic e3 = (dynamicInlineClass as{Unchecked} dynamic){dynamic}.call();
|
||||
dynamic e3 = (dynamicInlineClass as{Unchecked} dynamic){dynamic}();
|
||||
core::String e4 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:145:31: Error: The setter 'it' isn't defined for the class 'DynamicInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'it'.
|
||||
var e4 = dynamicInlineClass.it = '42'; // Error, should not resolve
|
||||
^^" in dynamicInlineClass{<unresolved>}.it = "42";
|
||||
^^" in dynamicInlineClass.{<unresolved>}it = "42";
|
||||
core::int f1 = erroneousInlineClass as{Unchecked} core::int;
|
||||
invalid-type f2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:149:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'int'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -614,7 +614,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int f3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:150:33: Error: The setter 'a' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'a'.
|
||||
var f3 = erroneousInlineClass.a = 42; // Error, should not resolve
|
||||
^" in erroneousInlineClass{<unresolved>}.a = 42;
|
||||
^" in erroneousInlineClass.{<unresolved>}a = 42;
|
||||
core::String g1 = erroneousInlineClass as{Unchecked} core::String;
|
||||
invalid-type g2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:153:34: Error: The static type of the explicit instantiation operand must be a generic function type but is 'int'.
|
||||
Try changing the operand or remove the type arguments.
|
||||
@@ -623,7 +623,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::String g3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:154:33: Error: The setter 'b' isn't defined for the class 'ErroneousInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'b'.
|
||||
var g3 = erroneousInlineClass.b = '42'; // Error, should not resolve
|
||||
^" in erroneousInlineClass{<unresolved>}.b = "42";
|
||||
^" in erroneousInlineClass.{<unresolved>}b = "42";
|
||||
dynamic h1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:157:31: Error: The getter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing getter, or defining a getter or field named '_it'.
|
||||
var h1 = privateInlineClass._it; // Error
|
||||
@@ -635,7 +635,7 @@ Try changing the operand or remove the type arguments.
|
||||
core::int h3 = invalid-expression "pkg/front_end/testcases/extension_types/field_access.dart:159:31: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var h3 = privateInlineClass._it = 42; // Error
|
||||
^^^" in privateInlineClass{<unresolved>}._it = 42;
|
||||
^^^" in privateInlineClass.{<unresolved>}_it = 42;
|
||||
}
|
||||
|
||||
library;
|
||||
@@ -692,11 +692,11 @@ Try changing the operand or remove the type arguments.
|
||||
core::int c1 = invalid-expression "pkg/front_end/testcases/extension_types/field_access_lib.dart:11:19: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var c1 = this._it = 42; // Error, should not resolve to extension method.
|
||||
^^^" in #this{<unresolved>}._it = 42;
|
||||
^^^" in #this.{<unresolved>}_it = 42;
|
||||
core::int c2 = invalid-expression "pkg/front_end/testcases/extension_types/field_access_lib.dart:12:14: Error: The setter '_it' isn't defined for the class 'PrivateInlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named '_it'.
|
||||
var c2 = _it = 42; // Error, should not resolve to extension method.
|
||||
^^^" in #this{<unresolved>}._it = 42;
|
||||
^^^" in #this.{<unresolved>}_it = 42;
|
||||
}
|
||||
static extension-type-member method PrivateInlineClass|get#test(lowered final self2::PrivateInlineClass /* = core::int */ #this) → () → void
|
||||
return () → void => self2::PrivateInlineClass|test(#this);
|
||||
|
||||
@@ -43,5 +43,5 @@ static method test() → void {
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720.dart:14:9: Error: The setter 'm' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'm'.
|
||||
E2(1).m = 10; /* Error */
|
||||
^" in self::E2|constructor#(1){<unresolved>}.m = 10;
|
||||
^" in self::E2|constructor#(1).{<unresolved>}m = 10;
|
||||
}
|
||||
|
||||
@@ -43,5 +43,5 @@ static method test() → void {
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720.dart:14:9: Error: The setter 'm' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'm'.
|
||||
E2(1).m = 10; /* Error */
|
||||
^" in self::E2|constructor#(1){<unresolved>}.m = 10;
|
||||
^" in self::E2|constructor#(1).{<unresolved>}m = 10;
|
||||
}
|
||||
|
||||
@@ -43,5 +43,5 @@ static method test() → void {
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720.dart:14:9: Error: The setter 'm' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'm'.
|
||||
E2(1).m = 10; /* Error */
|
||||
^" in self::E2|constructor#(1){<unresolved>}.m = 10;
|
||||
^" in self::E2|constructor#(1).{<unresolved>}m = 10;
|
||||
}
|
||||
|
||||
@@ -43,5 +43,5 @@ static method test() → void {
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720.dart:14:9: Error: The setter 'm' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'm'.
|
||||
E2(1).m = 10; /* Error */
|
||||
^" in self::E2|constructor#(1){<unresolved>}.m = 10;
|
||||
^" in self::E2|constructor#(1).{<unresolved>}m = 10;
|
||||
}
|
||||
|
||||
@@ -43,5 +43,5 @@ static method test() → void {
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720.dart:14:9: Error: The setter 'm' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'm'.
|
||||
E2(1).m = 10; /* Error */
|
||||
^" in self::E2|constructor#(1){<unresolved>}.m = 10;
|
||||
^" in self::E2|constructor#(1).{<unresolved>}m = 10;
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ static method test() → void {
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:22:6: Error: The setter 'm1' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'm1'.
|
||||
e2.m1 = 10; // Compile-time error.
|
||||
^^" in e2{<unresolved>}.m1 = 10;
|
||||
^^" in e2.{<unresolved>}m1 = 10;
|
||||
self::E2|set#m2(e2, 10);
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:24:6: Error: The method 'm2' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing method, or defining a method named 'm2'.
|
||||
|
||||
@@ -67,7 +67,7 @@ static method test() → void {
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:22:6: Error: The setter 'm1' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'm1'.
|
||||
e2.m1 = 10; // Compile-time error.
|
||||
^^" in e2{<unresolved>}.m1 = 10;
|
||||
^^" in e2.{<unresolved>}m1 = 10;
|
||||
self::E2|set#m2(e2, 10);
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:24:6: Error: The method 'm2' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing method, or defining a method named 'm2'.
|
||||
|
||||
@@ -67,7 +67,7 @@ static method test() → void {
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:22:6: Error: The setter 'm1' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'm1'.
|
||||
e2.m1 = 10; // Compile-time error.
|
||||
^^" in e2{<unresolved>}.m1 = 10;
|
||||
^^" in e2.{<unresolved>}m1 = 10;
|
||||
self::E2|set#m2(e2, 10);
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:24:6: Error: The method 'm2' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing method, or defining a method named 'm2'.
|
||||
|
||||
@@ -67,7 +67,7 @@ static method test() → void {
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:22:6: Error: The setter 'm1' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'm1'.
|
||||
e2.m1 = 10; // Compile-time error.
|
||||
^^" in e2{<unresolved>}.m1 = 10;
|
||||
^^" in e2.{<unresolved>}m1 = 10;
|
||||
self::E2|set#m2(e2, 10);
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:24:6: Error: The method 'm2' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing method, or defining a method named 'm2'.
|
||||
|
||||
@@ -67,7 +67,7 @@ static method test() → void {
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:22:6: Error: The setter 'm1' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'm1'.
|
||||
e2.m1 = 10; // Compile-time error.
|
||||
^^" in e2{<unresolved>}.m1 = 10;
|
||||
^^" in e2.{<unresolved>}m1 = 10;
|
||||
self::E2|set#m2(e2, 10);
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/issue53720_2.dart:24:6: Error: The method 'm2' isn't defined for the class 'E2'.
|
||||
Try correcting the name to the name of an existing method, or defining a method named 'm2'.
|
||||
|
||||
@@ -93,11 +93,11 @@ Try correcting the name to the name of an existing getter, or defining a getter
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:29:10: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
this.getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in #this{<unresolved>}.getter = 42;
|
||||
^^^^^^" in #this.{<unresolved>}getter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:30:5: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in #this{<unresolved>}.getter = 42;
|
||||
^^^^^^" in #this.{<unresolved>}getter = 42;
|
||||
core::int i1 = self::InlineClass|method(#this);
|
||||
core::int i2 = self::InlineClass|method(#this);
|
||||
core::num j1 = self::InlineClass|genericMethod<core::num>(#this, 0);
|
||||
@@ -151,7 +151,7 @@ Try correcting the name to the name of an existing getter, or defining a getter
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:74:6: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
ic.getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in ic{<unresolved>}.getter = 42;
|
||||
^^^^^^" in ic.{<unresolved>}getter = 42;
|
||||
core::int i = self::InlineClass|method(ic);
|
||||
core::num j = self::InlineClass|genericMethod<core::num>(ic, 0);
|
||||
core::int k = self::InlineClass|genericMethod<core::int>(ic, 0);
|
||||
|
||||
+3
-3
@@ -93,11 +93,11 @@ Try correcting the name to the name of an existing getter, or defining a getter
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:29:10: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
this.getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in #this{<unresolved>}.getter = 42;
|
||||
^^^^^^" in #this.{<unresolved>}getter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:30:5: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in #this{<unresolved>}.getter = 42;
|
||||
^^^^^^" in #this.{<unresolved>}getter = 42;
|
||||
core::int i1 = self::InlineClass|method(#this);
|
||||
core::int i2 = self::InlineClass|method(#this);
|
||||
core::num j1 = self::InlineClass|genericMethod<core::num>(#this, 0);
|
||||
@@ -151,7 +151,7 @@ Try correcting the name to the name of an existing getter, or defining a getter
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:74:6: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
ic.getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in ic{<unresolved>}.getter = 42;
|
||||
^^^^^^" in ic.{<unresolved>}getter = 42;
|
||||
core::int i = self::InlineClass|method(ic);
|
||||
core::num j = self::InlineClass|genericMethod<core::num>(ic, 0);
|
||||
core::int k = self::InlineClass|genericMethod<core::int>(ic, 0);
|
||||
|
||||
@@ -93,11 +93,11 @@ Try correcting the name to the name of an existing getter, or defining a getter
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:29:10: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
this.getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in #this{<unresolved>}.getter = 42;
|
||||
^^^^^^" in #this.{<unresolved>}getter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:30:5: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in #this{<unresolved>}.getter = 42;
|
||||
^^^^^^" in #this.{<unresolved>}getter = 42;
|
||||
core::int i1 = self::InlineClass|method(#this);
|
||||
core::int i2 = self::InlineClass|method(#this);
|
||||
core::num j1 = self::InlineClass|genericMethod<core::num>(#this, 0);
|
||||
@@ -151,7 +151,7 @@ Try correcting the name to the name of an existing getter, or defining a getter
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:74:6: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
ic.getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in ic{<unresolved>}.getter = 42;
|
||||
^^^^^^" in ic.{<unresolved>}getter = 42;
|
||||
core::int i = self::InlineClass|method(ic);
|
||||
core::num j = self::InlineClass|genericMethod<core::num>(ic, 0);
|
||||
core::int k = self::InlineClass|genericMethod<core::int>(ic, 0);
|
||||
|
||||
@@ -93,11 +93,11 @@ Try correcting the name to the name of an existing getter, or defining a getter
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:29:10: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
this.getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in #this{<unresolved>}.getter = 42;
|
||||
^^^^^^" in #this.{<unresolved>}getter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:30:5: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in #this{<unresolved>}.getter = 42;
|
||||
^^^^^^" in #this.{<unresolved>}getter = 42;
|
||||
core::int i1 = self::InlineClass|method(#this);
|
||||
core::int i2 = self::InlineClass|method(#this);
|
||||
core::num j1 = self::InlineClass|genericMethod<core::num>(#this, 0);
|
||||
@@ -151,7 +151,7 @@ Try correcting the name to the name of an existing getter, or defining a getter
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:74:6: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
ic.getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in ic{<unresolved>}.getter = 42;
|
||||
^^^^^^" in ic.{<unresolved>}getter = 42;
|
||||
core::int i = self::InlineClass|method(ic);
|
||||
core::num j = self::InlineClass|genericMethod<core::num>(ic, 0);
|
||||
core::int k = self::InlineClass|genericMethod<core::int>(ic, 0);
|
||||
|
||||
@@ -93,11 +93,11 @@ Try correcting the name to the name of an existing getter, or defining a getter
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:29:10: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
this.getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in #this{<unresolved>}.getter = 42;
|
||||
^^^^^^" in #this.{<unresolved>}getter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:30:5: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in #this{<unresolved>}.getter = 42;
|
||||
^^^^^^" in #this.{<unresolved>}getter = 42;
|
||||
core::int i1 = self::InlineClass|method(#this);
|
||||
core::int i2 = self::InlineClass|method(#this);
|
||||
core::num j1 = self::InlineClass|genericMethod<core::num>(#this, 0);
|
||||
@@ -151,7 +151,7 @@ Try correcting the name to the name of an existing getter, or defining a getter
|
||||
invalid-expression "pkg/front_end/testcases/extension_types/method_access.dart:74:6: Error: The setter 'getter' isn't defined for the class 'InlineClass'.
|
||||
Try correcting the name to the name of an existing setter, or defining a setter or field named 'getter'.
|
||||
ic.getter = 42; // Error, should not resolve to extension method.
|
||||
^^^^^^" in ic{<unresolved>}.getter = 42;
|
||||
^^^^^^" in ic.{<unresolved>}getter = 42;
|
||||
core::int i = self::InlineClass|method(ic);
|
||||
core::num j = self::InlineClass|genericMethod<core::num>(ic, 0);
|
||||
core::int k = self::InlineClass|genericMethod<core::int>(ic, 0);
|
||||
|
||||
@@ -225,12 +225,12 @@ Try using an explicit extension application of the wanted extension or hiding un
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.getter = 42;
|
||||
^^^^^^" in c{<unresolved>}.getter = 42;
|
||||
^^^^^^" in c.{<unresolved>}getter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:33:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.setter = 42;
|
||||
^^^^^^" in c{<unresolved>}.setter = 42;
|
||||
^^^^^^" in c.{<unresolved>}setter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:34:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
@@ -240,7 +240,7 @@ Try using an explicit extension application of the wanted extension or hiding un
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.property = 42;
|
||||
^^^^^^^^" in c{<unresolved>}.property = 42;
|
||||
^^^^^^^^" in c.{<unresolved>}property = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:36:5: Error: The operator '+' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
|
||||
@@ -225,12 +225,12 @@ Try using an explicit extension application of the wanted extension or hiding un
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.getter = 42;
|
||||
^^^^^^" in c{<unresolved>}.getter = 42;
|
||||
^^^^^^" in c.{<unresolved>}getter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:33:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.setter = 42;
|
||||
^^^^^^" in c{<unresolved>}.setter = 42;
|
||||
^^^^^^" in c.{<unresolved>}setter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:34:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
@@ -240,7 +240,7 @@ Try using an explicit extension application of the wanted extension or hiding un
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.property = 42;
|
||||
^^^^^^^^" in c{<unresolved>}.property = 42;
|
||||
^^^^^^^^" in c.{<unresolved>}property = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:36:5: Error: The operator '+' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
|
||||
@@ -225,12 +225,12 @@ Try using an explicit extension application of the wanted extension or hiding un
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.getter = 42;
|
||||
^^^^^^" in c{<unresolved>}.getter = 42;
|
||||
^^^^^^" in c.{<unresolved>}getter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:33:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.setter = 42;
|
||||
^^^^^^" in c{<unresolved>}.setter = 42;
|
||||
^^^^^^" in c.{<unresolved>}setter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:34:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
@@ -240,7 +240,7 @@ Try using an explicit extension application of the wanted extension or hiding un
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.property = 42;
|
||||
^^^^^^^^" in c{<unresolved>}.property = 42;
|
||||
^^^^^^^^" in c.{<unresolved>}property = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:36:5: Error: The operator '+' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
|
||||
@@ -225,12 +225,12 @@ Try using an explicit extension application of the wanted extension or hiding un
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.getter = 42;
|
||||
^^^^^^" in c{<unresolved>}.getter = 42;
|
||||
^^^^^^" in c.{<unresolved>}getter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:33:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.setter = 42;
|
||||
^^^^^^" in c{<unresolved>}.setter = 42;
|
||||
^^^^^^" in c.{<unresolved>}setter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:34:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
@@ -240,7 +240,7 @@ Try using an explicit extension application of the wanted extension or hiding un
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.property = 42;
|
||||
^^^^^^^^" in c{<unresolved>}.property = 42;
|
||||
^^^^^^^^" in c.{<unresolved>}property = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:36:5: Error: The operator '+' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
|
||||
@@ -225,12 +225,12 @@ Try using an explicit extension application of the wanted extension or hiding un
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.getter = 42;
|
||||
^^^^^^" in c{<unresolved>}.getter = 42;
|
||||
^^^^^^" in c.{<unresolved>}getter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:33:5: Error: The property 'setter' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.setter = 42;
|
||||
^^^^^^" in c{<unresolved>}.setter = 42;
|
||||
^^^^^^" in c.{<unresolved>}setter = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:34:5: Error: The property 'property' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
@@ -240,7 +240,7 @@ Try using an explicit extension application of the wanted extension or hiding un
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
c.property = 42;
|
||||
^^^^^^^^" in c{<unresolved>}.property = 42;
|
||||
^^^^^^^^" in c.{<unresolved>}property = 42;
|
||||
invalid-expression "pkg/front_end/testcases/extensions/ambiguous.dart:36:5: Error: The operator '+' is defined in multiple extensions for 'C' and neither is more specific.
|
||||
- 'C' is from 'pkg/front_end/testcases/extensions/ambiguous.dart'.
|
||||
Try using an explicit extension application of the wanted extension or hiding unwanted extensions from scope.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user