Skip to content

Commit

Permalink
Version 3.2.0-169.0.dev
Browse files Browse the repository at this point in the history
Merge 139ff28 into dev
  • Loading branch information
Dart CI committed Sep 15, 2023
2 parents a5ee005 + 139ff28 commit e945231
Show file tree
Hide file tree
Showing 51 changed files with 233 additions and 130 deletions.
3 changes: 0 additions & 3 deletions pkg/dart2wasm/lib/await_transformer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -843,9 +843,6 @@ class _ExpressionTransformer extends Transformer {
@override
TreeNode visitInstanceTearOff(InstanceTearOff expr) => unary(expr);

@override
TreeNode visitFunctionTearOff(FunctionTearOff expr) => unary(expr);

@override
TreeNode visitSuperPropertySet(SuperPropertySet expr) => unary(expr);

Expand Down
5 changes: 0 additions & 5 deletions pkg/dart2wasm/lib/code_generator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2144,11 +2144,6 @@ class CodeGenerator extends ExpressionVisitor1<w.ValueType, w.ValueType>
}
}

@override
w.ValueType visitFunctionTearOff(
FunctionTearOff node, w.ValueType expectedType) =>
wrap(node.receiver, expectedType);

@override
w.ValueType visitInstanceTearOff(
InstanceTearOff node, w.ValueType expectedType) {
Expand Down
6 changes: 6 additions & 0 deletions pkg/dart2wasm/lib/transformers.dart
Original file line number Diff line number Diff line change
Expand Up @@ -710,6 +710,12 @@ class _WasmTransformer extends Transformer {
node.transformChildren(this);
return _listFactorySpecializer.transformStaticInvocation(node);
}

@override
visitFunctionTearOff(FunctionTearOff node) {
node.transformChildren(this);
return node.receiver;
}
}

class _AsyncStarFrame {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Try correcting the name to the name of an existing method, or defining a method
Try correcting the name to the name of an existing method, or defining a method named 'call'.
x.call();
^^^^" in x{<unresolved>}.call();
f.call;
f;
f(5, 2);
}
static method main() → dynamic {}
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Try correcting the name to the name of an existing method, or defining a method
Try correcting the name to the name of an existing method, or defining a method named 'call'.
x.call();
^^^^" in x{<unresolved>}.call();
f.call;
f;
f(5, 2);
}
static method main() → dynamic {}
26 changes: 13 additions & 13 deletions pkg/front_end/testcases/general/call.dart.strong.transformed.expect
Original file line number Diff line number Diff line change
Expand Up @@ -111,13 +111,13 @@ class CallableGetter extends core::Object {
static field (dynamic) → dynamic closure = (dynamic x) → dynamic => x;
static field dynamic int1 = self::closure(1){(dynamic) → dynamic};
static field dynamic int2 = self::closure(1){(dynamic) → dynamic};
static field dynamic int3 = self::closure.call(1){(dynamic) → dynamic};
static field dynamic int4 = self::closure.call.call(1){(dynamic) → dynamic};
static field dynamic int3 = self::closure(1){(dynamic) → dynamic};
static field dynamic int4 = self::closure(1){(dynamic) → dynamic};
static field self::Callable callable = new self::Callable::•();
static field dynamic string1 = self::callable.{self::Callable::call}(1){(dynamic) → dynamic};
static field dynamic string2 = self::callable.{self::Callable::call}(1){(dynamic) → dynamic};
static field dynamic string3 = self::callable.{self::Callable::call}{(dynamic) → dynamic}(1){(dynamic) → dynamic};
static field dynamic string4 = self::callable.{self::Callable::call}{(dynamic) → dynamic}.call(1){(dynamic) → dynamic};
static field dynamic string4 = self::callable.{self::Callable::call}{(dynamic) → dynamic}(1){(dynamic) → dynamic};
static field self::CallableGetter callableGetter = new self::CallableGetter::•();
static field invalid-type string5 = invalid-expression "pkg/front_end/testcases/general/call.dart:63:29: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Expand All @@ -135,10 +135,10 @@ var nothing2 = closure.call();
^" in self::closure{<inapplicable>}.();
static field invalid-type nothing3 = invalid-expression "pkg/front_end/testcases/general/call.dart:70:33: Error: Too few positional arguments: 1 required, 0 given.
var nothing3 = closure.call.call();
^" in self::closure.call{<inapplicable>}.();
^" in self::closure{<inapplicable>}.();
static field invalid-type nothing4 = invalid-expression "pkg/front_end/testcases/general/call.dart:71:38: Error: Too few positional arguments: 1 required, 0 given.
var nothing4 = closure.call.call.call();
^" in self::closure.call.call{<inapplicable>}.();
^" in self::closure{<inapplicable>}.();
static field invalid-type nothing5 = invalid-expression "pkg/front_end/testcases/general/call.dart:73:24: Error: Too few positional arguments: 1 required, 0 given.
var nothing5 = callable();
^" in self::callable.{self::Callable::call}{<inapplicable>}.(){() → invalid-type};
Expand All @@ -150,7 +150,7 @@ var nothing7 = callable.call.call();
^" in self::callable.{self::Callable::call}{(dynamic) → dynamic}{<inapplicable>}.();
static field invalid-type nothing8 = invalid-expression "pkg/front_end/testcases/general/call.dart:76:39: Error: Too few positional arguments: 1 required, 0 given.
var nothing8 = callable.call.call.call();
^" in self::callable.{self::Callable::call}{(dynamic) → dynamic}.call{<inapplicable>}.();
^" in self::callable.{self::Callable::call}{(dynamic) → dynamic}{<inapplicable>}.();
static field invalid-type nothing9 = invalid-expression "pkg/front_end/testcases/general/call.dart:78:30: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Try changing 'call' to a method or explicitly invoke 'call'.
Expand All @@ -163,13 +163,13 @@ static method main() → dynamic {
(dynamic) → dynamic closure = (dynamic x) → dynamic => x;
dynamic int1 = closure(1){(dynamic) → dynamic};
dynamic int2 = closure(1){(dynamic) → dynamic};
dynamic int3 = closure.call(1){(dynamic) → dynamic};
dynamic int4 = closure.call.call(1){(dynamic) → dynamic};
dynamic int3 = closure(1){(dynamic) → dynamic};
dynamic int4 = closure(1){(dynamic) → dynamic};
self::Callable callable = new self::Callable::•();
dynamic string1 = callable.{self::Callable::call}(1){(dynamic) → dynamic};
dynamic string2 = callable.{self::Callable::call}(1){(dynamic) → dynamic};
dynamic string3 = callable.{self::Callable::call}{(dynamic) → dynamic}(1){(dynamic) → dynamic};
dynamic string4 = callable.{self::Callable::call}{(dynamic) → dynamic}.call(1){(dynamic) → dynamic};
dynamic string4 = callable.{self::Callable::call}{(dynamic) → dynamic}(1){(dynamic) → dynamic};
self::CallableGetter callableGetter = new self::CallableGetter::•();
invalid-type string5 = invalid-expression "pkg/front_end/testcases/general/call.dart:29:31: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Expand All @@ -187,10 +187,10 @@ Try changing 'call' to a method or explicitly invoke 'call'.
^" in closure{<inapplicable>}.();
invalid-type nothing3 = invalid-expression "pkg/front_end/testcases/general/call.dart:36:35: Error: Too few positional arguments: 1 required, 0 given.
var nothing3 = closure.call.call();
^" in closure.call{<inapplicable>}.();
^" in closure{<inapplicable>}.();
invalid-type nothing4 = invalid-expression "pkg/front_end/testcases/general/call.dart:37:40: Error: Too few positional arguments: 1 required, 0 given.
var nothing4 = closure.call.call.call();
^" in closure.call.call{<inapplicable>}.();
^" in closure{<inapplicable>}.();
invalid-type nothing5 = invalid-expression "pkg/front_end/testcases/general/call.dart:39:26: Error: Too few positional arguments: 1 required, 0 given.
var nothing5 = callable();
^" in callable.{self::Callable::call}{<inapplicable>}.(){() → invalid-type};
Expand All @@ -202,7 +202,7 @@ Try changing 'call' to a method or explicitly invoke 'call'.
^" in callable.{self::Callable::call}{(dynamic) → dynamic}{<inapplicable>}.();
invalid-type nothing8 = invalid-expression "pkg/front_end/testcases/general/call.dart:42:41: Error: Too few positional arguments: 1 required, 0 given.
var nothing8 = callable.call.call.call();
^" in callable.{self::Callable::call}{(dynamic) → dynamic}.call{<inapplicable>}.();
^" in callable.{self::Callable::call}{(dynamic) → dynamic}{<inapplicable>}.();
invalid-type nothing9 = invalid-expression "pkg/front_end/testcases/general/call.dart:44:32: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Try changing 'call' to a method or explicitly invoke 'call'.
Expand All @@ -217,4 +217,4 @@ Try changing 'call' to a method or explicitly invoke 'call'.
Extra constant evaluation status:
Evaluated: VariableGet @ org-dartlang-testcase:///call.dart:30:37 -> IntConstant(1)
Evaluated: VariableGet @ org-dartlang-testcase:///call.dart:64:35 -> IntConstant(1)
Extra constant evaluation: evaluated: 101, effectively constant: 2
Extra constant evaluation: evaluated: 93, effectively constant: 2
26 changes: 13 additions & 13 deletions pkg/front_end/testcases/general/call.dart.weak.transformed.expect
Original file line number Diff line number Diff line change
Expand Up @@ -111,13 +111,13 @@ class CallableGetter extends core::Object {
static field (dynamic) → dynamic closure = (dynamic x) → dynamic => x;
static field dynamic int1 = self::closure(1){(dynamic) → dynamic};
static field dynamic int2 = self::closure(1){(dynamic) → dynamic};
static field dynamic int3 = self::closure.call(1){(dynamic) → dynamic};
static field dynamic int4 = self::closure.call.call(1){(dynamic) → dynamic};
static field dynamic int3 = self::closure(1){(dynamic) → dynamic};
static field dynamic int4 = self::closure(1){(dynamic) → dynamic};
static field self::Callable callable = new self::Callable::•();
static field dynamic string1 = self::callable.{self::Callable::call}(1){(dynamic) → dynamic};
static field dynamic string2 = self::callable.{self::Callable::call}(1){(dynamic) → dynamic};
static field dynamic string3 = self::callable.{self::Callable::call}{(dynamic) → dynamic}(1){(dynamic) → dynamic};
static field dynamic string4 = self::callable.{self::Callable::call}{(dynamic) → dynamic}.call(1){(dynamic) → dynamic};
static field dynamic string4 = self::callable.{self::Callable::call}{(dynamic) → dynamic}(1){(dynamic) → dynamic};
static field self::CallableGetter callableGetter = new self::CallableGetter::•();
static field invalid-type string5 = invalid-expression "pkg/front_end/testcases/general/call.dart:63:29: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Expand All @@ -135,10 +135,10 @@ var nothing2 = closure.call();
^" in self::closure{<inapplicable>}.();
static field invalid-type nothing3 = invalid-expression "pkg/front_end/testcases/general/call.dart:70:33: Error: Too few positional arguments: 1 required, 0 given.
var nothing3 = closure.call.call();
^" in self::closure.call{<inapplicable>}.();
^" in self::closure{<inapplicable>}.();
static field invalid-type nothing4 = invalid-expression "pkg/front_end/testcases/general/call.dart:71:38: Error: Too few positional arguments: 1 required, 0 given.
var nothing4 = closure.call.call.call();
^" in self::closure.call.call{<inapplicable>}.();
^" in self::closure{<inapplicable>}.();
static field invalid-type nothing5 = invalid-expression "pkg/front_end/testcases/general/call.dart:73:24: Error: Too few positional arguments: 1 required, 0 given.
var nothing5 = callable();
^" in self::callable.{self::Callable::call}{<inapplicable>}.(){() → invalid-type};
Expand All @@ -150,7 +150,7 @@ var nothing7 = callable.call.call();
^" in self::callable.{self::Callable::call}{(dynamic) → dynamic}{<inapplicable>}.();
static field invalid-type nothing8 = invalid-expression "pkg/front_end/testcases/general/call.dart:76:39: Error: Too few positional arguments: 1 required, 0 given.
var nothing8 = callable.call.call.call();
^" in self::callable.{self::Callable::call}{(dynamic) → dynamic}.call{<inapplicable>}.();
^" in self::callable.{self::Callable::call}{(dynamic) → dynamic}{<inapplicable>}.();
static field invalid-type nothing9 = invalid-expression "pkg/front_end/testcases/general/call.dart:78:30: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Try changing 'call' to a method or explicitly invoke 'call'.
Expand All @@ -163,13 +163,13 @@ static method main() → dynamic {
(dynamic) → dynamic closure = (dynamic x) → dynamic => x;
dynamic int1 = closure(1){(dynamic) → dynamic};
dynamic int2 = closure(1){(dynamic) → dynamic};
dynamic int3 = closure.call(1){(dynamic) → dynamic};
dynamic int4 = closure.call.call(1){(dynamic) → dynamic};
dynamic int3 = closure(1){(dynamic) → dynamic};
dynamic int4 = closure(1){(dynamic) → dynamic};
self::Callable callable = new self::Callable::•();
dynamic string1 = callable.{self::Callable::call}(1){(dynamic) → dynamic};
dynamic string2 = callable.{self::Callable::call}(1){(dynamic) → dynamic};
dynamic string3 = callable.{self::Callable::call}{(dynamic) → dynamic}(1){(dynamic) → dynamic};
dynamic string4 = callable.{self::Callable::call}{(dynamic) → dynamic}.call(1){(dynamic) → dynamic};
dynamic string4 = callable.{self::Callable::call}{(dynamic) → dynamic}(1){(dynamic) → dynamic};
self::CallableGetter callableGetter = new self::CallableGetter::•();
invalid-type string5 = invalid-expression "pkg/front_end/testcases/general/call.dart:29:31: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Expand All @@ -187,10 +187,10 @@ Try changing 'call' to a method or explicitly invoke 'call'.
^" in closure{<inapplicable>}.();
invalid-type nothing3 = invalid-expression "pkg/front_end/testcases/general/call.dart:36:35: Error: Too few positional arguments: 1 required, 0 given.
var nothing3 = closure.call.call();
^" in closure.call{<inapplicable>}.();
^" in closure{<inapplicable>}.();
invalid-type nothing4 = invalid-expression "pkg/front_end/testcases/general/call.dart:37:40: Error: Too few positional arguments: 1 required, 0 given.
var nothing4 = closure.call.call.call();
^" in closure.call.call{<inapplicable>}.();
^" in closure{<inapplicable>}.();
invalid-type nothing5 = invalid-expression "pkg/front_end/testcases/general/call.dart:39:26: Error: Too few positional arguments: 1 required, 0 given.
var nothing5 = callable();
^" in callable.{self::Callable::call}{<inapplicable>}.(){() → invalid-type};
Expand All @@ -202,7 +202,7 @@ Try changing 'call' to a method or explicitly invoke 'call'.
^" in callable.{self::Callable::call}{(dynamic) → dynamic}{<inapplicable>}.();
invalid-type nothing8 = invalid-expression "pkg/front_end/testcases/general/call.dart:42:41: Error: Too few positional arguments: 1 required, 0 given.
var nothing8 = callable.call.call.call();
^" in callable.{self::Callable::call}{(dynamic) → dynamic}.call{<inapplicable>}.();
^" in callable.{self::Callable::call}{(dynamic) → dynamic}{<inapplicable>}.();
invalid-type nothing9 = invalid-expression "pkg/front_end/testcases/general/call.dart:44:32: Error: Cannot invoke an instance of 'CallableGetter' because it declares 'call' to be something other than a method.
- 'CallableGetter' is from 'pkg/front_end/testcases/general/call.dart'.
Try changing 'call' to a method or explicitly invoke 'call'.
Expand All @@ -217,4 +217,4 @@ Try changing 'call' to a method or explicitly invoke 'call'.
Extra constant evaluation status:
Evaluated: VariableGet @ org-dartlang-testcase:///call.dart:30:37 -> IntConstant(1)
Evaluated: VariableGet @ org-dartlang-testcase:///call.dart:64:35 -> IntConstant(1)
Extra constant evaluation: evaluated: 101, effectively constant: 2
Extra constant evaluation: evaluated: 93, effectively constant: 2
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class Class1<T extends core::Function> extends core::Object {
method method() → dynamic {
dynamic v1 = this.{self::Class1::field}{self::Class1::T}();
dynamic v2 = let final core::int #t1 = 0 in this.{self::Class1::field}{self::Class1::T}(#t1);
self::Class1::T v3 = this.{self::Class1::field}{self::Class1::T}.call;
self::Class1::T v3 = this.{self::Class1::field}{self::Class1::T};
dynamic v4 = this.{self::Class1::field}{self::Class1::T}();
dynamic v5 = this.{self::Class1::field}{self::Class1::T}(0);
}
Expand All @@ -36,7 +36,7 @@ class Class2<T extends (core::int) → core::String> extends core::Object {
var v1 = field(); // error
^" in this.{self::Class2::field}{self::Class2::T}{<inapplicable>}.();
core::String v2 = let final core::int #t2 = 0 in this.{self::Class2::field}{self::Class2::T}(#t2){(core::int) → core::String};
self::Class2::T v3 = this.{self::Class2::field}{self::Class2::T}.call;
self::Class2::T v3 = this.{self::Class2::field}{self::Class2::T};
invalid-type v4 = invalid-expression "pkg/front_end/testcases/general/callable_type_variable.dart:28:24: Error: Too few positional arguments: 1 required, 0 given.
var v4 = field.call(); // error
^" in this.{self::Class2::field}{self::Class2::T}{<inapplicable>}.();
Expand All @@ -49,4 +49,4 @@ static method main() → dynamic {}
Extra constant evaluation status:
Evaluated: VariableGet @ org-dartlang-testcase:///callable_type_variable.dart:12:20 -> IntConstant(0)
Evaluated: VariableGet @ org-dartlang-testcase:///callable_type_variable.dart:26:20 -> IntConstant(0)
Extra constant evaluation: evaluated: 30, effectively constant: 2
Extra constant evaluation: evaluated: 28, effectively constant: 2
Loading

0 comments on commit e945231

Please sign in to comment.