Prevent serialization of synthetic kernel nodes
Change-Id: Iad2300d8fa5384b5d692c5598c9311e600427dd2
Reviewed-on: https://dart-review.googlesource.com/c/90003
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 624c748..21f1eff 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -862,8 +862,14 @@
builder.body = body;
} else {
if (body != null) {
- builder.body =
- wrapInProblemStatement(body, fasta.messageExternalMethodWithBody);
+ builder.body = new Block(<Statement>[
+ new ExpressionStatementJudgment(desugarSyntheticExpression(
+ buildProblem(fasta.messageExternalMethodWithBody, body.fileOffset,
+ noLength)))
+ ..fileOffset = body.fileOffset,
+ body,
+ ])
+ ..fileOffset = body.fileOffset;
}
}
Member target = builder.target;
@@ -1118,7 +1124,8 @@
// TODO(ahe): Change this to a null check.
int offset = builder.body?.fileOffset ?? builder.charOffset;
constructor.initializers.add(buildInvalidInitializer(
- buildProblem(fasta.messageConstructorNotSync, offset, noLength),
+ desugarSyntheticExpression(
+ buildProblem(fasta.messageConstructorNotSync, offset, noLength)),
offset));
}
if (needsImplicitSuperInitializer) {
@@ -4466,16 +4473,17 @@
// TODO(ahe): The following doesn't make sense to Analyzer AST.
Declaration constructor =
library.loader.getAbstractClassInstantiationError();
- return forest.throwExpression(
- null,
- buildStaticInvocation(
- constructor.target,
- forest.arguments(<Expression>[
- forest.literalString(className, null)..fileOffset = charOffset
- ], noLocation)
- ..fileOffset = charOffset,
- charOffset: charOffset))
- ..fileOffset = charOffset;
+ Expression invocation = buildStaticInvocation(
+ constructor.target,
+ forest.arguments(<Expression>[
+ forest.literalString(className, null)..fileOffset = charOffset
+ ], noLocation)
+ ..fileOffset = charOffset,
+ charOffset: charOffset);
+ if (invocation is shadow.SyntheticExpressionJudgment) {
+ invocation = desugarSyntheticExpression(invocation);
+ }
+ return forest.throwExpression(null, invocation)..fileOffset = charOffset;
}
Statement buildProblemStatement(Message message, int charOffset,
@@ -4570,20 +4578,22 @@
]);
Declaration constructor =
library.loader.getDuplicatedFieldInitializerError();
+ Expression invocation = buildStaticInvocation(
+ constructor.target,
+ forest.arguments(<Expression>[
+ forest.literalString(name, null)..fileOffset = assignmentOffset
+ ], noLocation)
+ ..fileOffset = assignmentOffset,
+ charOffset: assignmentOffset);
+ if (invocation is shadow.SyntheticExpressionJudgment) {
+ invocation = desugarSyntheticExpression(invocation);
+ }
return new ShadowInvalidFieldInitializer(
builder.field,
expression,
- new VariableDeclaration.forValue(forest.throwExpression(
- null,
- buildStaticInvocation(
- constructor.target,
- forest.arguments(<Expression>[
- forest.literalString(name, null)
- ..fileOffset = assignmentOffset
- ], noLocation)
- ..fileOffset = assignmentOffset,
- charOffset: assignmentOffset))
- ..fileOffset = assignmentOffset))
+ new VariableDeclaration.forValue(
+ forest.throwExpression(null, invocation)
+ ..fileOffset = assignmentOffset))
..fileOffset = assignmentOffset;
} else {
if (!legacyMode &&
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
index 21ca7db..7aaf5da 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
@@ -45,7 +45,7 @@
templateSwitchExpressionNotAssignable,
templateWebLiteralCannotBeRepresentedExactly;
-import '../problems.dart' show unhandled, unsupported;
+import '../problems.dart' show getFileUri, unhandled, unsupported;
import '../source/source_class_builder.dart' show SourceClassBuilder;
@@ -1390,6 +1390,25 @@
}
}
}
+
+ @override
+ accept(ExpressionVisitor v) {
+ // This is designed to throw an exception during serialization. It can also
+ // lead to exceptions during transformations, but we have to accept a
+ // [Transformer] as this is used to implement `replaceChild`.
+ if (v is Transformer) return super.accept(v);
+ unsupported("accept", fileOffset, getFileUri(this));
+ }
+
+ @override
+ accept1(ExpressionVisitor1 v, arg) {
+ unsupported("accept1", fileOffset, getFileUri(this));
+ }
+
+ @override
+ visitChildren(Visitor v) {
+ unsupported("visitChildren", fileOffset, getFileUri(this));
+ }
}
/// Concrete shadow object representing a catch clause.
diff --git a/pkg/front_end/lib/src/fasta/problems.dart b/pkg/front_end/lib/src/fasta/problems.dart
index bf17812..09ec70c 100644
--- a/pkg/front_end/lib/src/fasta/problems.dart
+++ b/pkg/front_end/lib/src/fasta/problems.dart
@@ -4,6 +4,8 @@
library fasta.problems;
+import 'package:kernel/ast.dart' show FileUriNode, TreeNode;
+
import 'compiler_context.dart' show CompilerContext;
import 'messages.dart'
@@ -72,3 +74,11 @@
charOffset,
uri);
}
+
+Uri getFileUri(TreeNode node) {
+ do {
+ if (node is FileUriNode) return node.fileUri;
+ node = node.parent;
+ } while (node is TreeNode);
+ return null;
+}
diff --git a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
index 393c70b..7ab2ba3 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart
@@ -769,14 +769,10 @@
}
expression.parent.replaceChild(
expression,
- new Let(
- new VariableDeclaration.forValue(receiver)
- ..fileOffset = receiver.fileOffset,
- helper.desugarSyntheticExpression(helper.buildProblem(
- errorTemplate.withArguments(name.name, receiverType),
- fileOffset,
- length)))
- ..fileOffset = fileOffset);
+ helper.desugarSyntheticExpression(helper.buildProblem(
+ errorTemplate.withArguments(name.name, receiverType),
+ fileOffset,
+ length)));
}
return interfaceMember;
}
diff --git a/pkg/front_end/testcases/accessors.dart.strong.expect b/pkg/front_end/testcases/accessors.dart.strong.expect
index 01820b8..45fbbc5 100644
--- a/pkg/front_end/testcases/accessors.dart.strong.expect
+++ b/pkg/front_end/testcases/accessors.dart.strong.expect
@@ -38,7 +38,7 @@
}
method testC() → dynamic {
try {
- core::print(let final dynamic #t1 = this in invalid-expression "pkg/front_end/testcases/accessors.dart:16:13: Error: The getter 'onlySetter' isn't defined for the class 'C'.
+ core::print(invalid-expression "pkg/front_end/testcases/accessors.dart:16:13: Error: The getter 'onlySetter' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/accessors.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
print(onlySetter);
@@ -51,7 +51,7 @@
this.{self::C::onlySetter} = "hest";
}
method testD() → dynamic {
- core::print(let final dynamic #t2 = this in invalid-expression "pkg/front_end/testcases/accessors.dart:25:11: Error: The getter 'onlySetter' isn't defined for the class 'C'.
+ core::print(invalid-expression "pkg/front_end/testcases/accessors.dart:25:11: Error: The getter 'onlySetter' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/accessors.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
print(onlySetter);
diff --git a/pkg/front_end/testcases/accessors.dart.strong.transformed.expect b/pkg/front_end/testcases/accessors.dart.strong.transformed.expect
index 77ef07b..45fbbc5 100644
--- a/pkg/front_end/testcases/accessors.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/accessors.dart.strong.transformed.expect
@@ -38,7 +38,7 @@
}
method testC() → dynamic {
try {
- core::print(let final self::C #t1 = this in invalid-expression "pkg/front_end/testcases/accessors.dart:16:13: Error: The getter 'onlySetter' isn't defined for the class 'C'.
+ core::print(invalid-expression "pkg/front_end/testcases/accessors.dart:16:13: Error: The getter 'onlySetter' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/accessors.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
print(onlySetter);
@@ -51,7 +51,7 @@
this.{self::C::onlySetter} = "hest";
}
method testD() → dynamic {
- core::print(let final self::C #t2 = this in invalid-expression "pkg/front_end/testcases/accessors.dart:25:11: Error: The getter 'onlySetter' isn't defined for the class 'C'.
+ core::print(invalid-expression "pkg/front_end/testcases/accessors.dart:25:11: Error: The getter 'onlySetter' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/accessors.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'onlySetter'.
print(onlySetter);
diff --git a/pkg/front_end/testcases/bug21938.dart.strong.expect b/pkg/front_end/testcases/bug21938.dart.strong.expect
index 1d9accb..25e833b 100644
--- a/pkg/front_end/testcases/bug21938.dart.strong.expect
+++ b/pkg/front_end/testcases/bug21938.dart.strong.expect
@@ -26,18 +26,18 @@
static method test() → dynamic {
core::Object x;
core::Function f;
- let final dynamic #t1 = x in invalid-expression "pkg/front_end/testcases/bug21938.dart:10:4: Error: The method 'call' isn't defined for the class 'Object'.
+ invalid-expression "pkg/front_end/testcases/bug21938.dart:10:4: Error: The method 'call' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'call'.
x /*@error=UndefinedMethod*/ ();
^";
- let final dynamic #t2 = x in invalid-expression "pkg/front_end/testcases/bug21938.dart:11:4: Error: The method 'call' isn't defined for the class 'Object'.
+ invalid-expression "pkg/front_end/testcases/bug21938.dart:11:4: Error: The method 'call' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'call'.
x /*@error=UndefinedMethod*/ (3);
^";
f.call(5, 2);
- let final dynamic #t3 = x in invalid-expression "pkg/front_end/testcases/bug21938.dart:13:33: Error: The method 'call' isn't defined for the class 'Object'.
+ invalid-expression "pkg/front_end/testcases/bug21938.dart:13:33: Error: The method 'call' isn't defined for the class 'Object'.
- 'Object' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'call'.
x. /*@error=UndefinedMethod*/ call();
diff --git a/pkg/front_end/testcases/cascade.dart.strong.expect b/pkg/front_end/testcases/cascade.dart.strong.expect
index ad65f1c..410fa63 100644
--- a/pkg/front_end/testcases/cascade.dart.strong.expect
+++ b/pkg/front_end/testcases/cascade.dart.strong.expect
@@ -37,15 +37,15 @@
- 'List' is from 'dart:core'.
Try changing the type of the left hand side, or casting the right hand side to 'int'.
[1]
- ^" in <core::int>[1] as{TypeError} core::int] in let final dynamic #t15 = (let final dynamic #t16 = #t13.{core::Iterable::first} in invalid-expression "pkg/front_end/testcases/cascade.dart:28:13: Error: The getter 'last' isn't defined for the class 'int'.
+ ^" in <core::int>[1] as{TypeError} core::int] in let final dynamic #t15 = invalid-expression "pkg/front_end/testcases/cascade.dart:28:13: Error: The getter 'last' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
..first.last.toString()
- ^^^^").{core::Object::toString}() in let final dynamic #t17 = (let final dynamic #t18 = #t13.{core::Iterable::first} in invalid-expression "pkg/front_end/testcases/cascade.dart:29:12: Error: The method '[]' isn't defined for the class 'int'.
+ ^^^^".{core::Object::toString}() in let final dynamic #t16 = invalid-expression "pkg/front_end/testcases/cascade.dart:29:12: Error: The method '[]' isn't defined for the class 'int'.
Try correcting the name to the name of an existing method, or defining a method named '[]'.
..first[0].toString()
- ^^").{core::Object::toString}() in let final dynamic #t19 = (let final dynamic #t20 = #t13.{core::List::[]}(0) in invalid-expression "pkg/front_end/testcases/cascade.dart:30:11: Error: The getter 'last' isn't defined for the class 'int'.
+ ^^".{core::Object::toString}() in let final dynamic #t17 = invalid-expression "pkg/front_end/testcases/cascade.dart:30:11: Error: The getter 'last' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
..[0].last.toString();
- ^^^^").{core::Object::toString}() in #t13;
+ ^^^^".{core::Object::toString}() in #t13;
core::print(list);
}
diff --git a/pkg/front_end/testcases/cascade.dart.strong.transformed.expect b/pkg/front_end/testcases/cascade.dart.strong.transformed.expect
index 65d6f3b..0c5c75b 100644
--- a/pkg/front_end/testcases/cascade.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/cascade.dart.strong.transformed.expect
@@ -37,15 +37,15 @@
- 'List' is from 'dart:core'.
Try changing the type of the left hand side, or casting the right hand side to 'int'.
[1]
- ^" in <core::int>[1] as{TypeError} core::int] in let final core::String #t15 = (let final core::int #t16 = #t13.{core::Iterable::first} in invalid-expression "pkg/front_end/testcases/cascade.dart:28:13: Error: The getter 'last' isn't defined for the class 'int'.
+ ^" in <core::int>[1] as{TypeError} core::int] in let final core::String #t15 = invalid-expression "pkg/front_end/testcases/cascade.dart:28:13: Error: The getter 'last' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
..first.last.toString()
- ^^^^").{core::Object::toString}() in let final core::String #t17 = (let final core::int #t18 = #t13.{core::Iterable::first} in invalid-expression "pkg/front_end/testcases/cascade.dart:29:12: Error: The method '[]' isn't defined for the class 'int'.
+ ^^^^".{core::Object::toString}() in let final core::String #t16 = invalid-expression "pkg/front_end/testcases/cascade.dart:29:12: Error: The method '[]' isn't defined for the class 'int'.
Try correcting the name to the name of an existing method, or defining a method named '[]'.
..first[0].toString()
- ^^").{core::Object::toString}() in let final core::String #t19 = (let final core::int #t20 = #t13.{core::List::[]}(0) in invalid-expression "pkg/front_end/testcases/cascade.dart:30:11: Error: The getter 'last' isn't defined for the class 'int'.
+ ^^".{core::Object::toString}() in let final core::String #t17 = invalid-expression "pkg/front_end/testcases/cascade.dart:30:11: Error: The getter 'last' isn't defined for the class 'int'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'last'.
..[0].last.toString();
- ^^^^").{core::Object::toString}() in #t13;
+ ^^^^".{core::Object::toString}() in #t13;
core::print(list);
}
diff --git a/pkg/front_end/testcases/continue_inference_after_error.dart.strong.expect b/pkg/front_end/testcases/continue_inference_after_error.dart.strong.expect
index b0aeb7b..c8d3090 100644
--- a/pkg/front_end/testcases/continue_inference_after_error.dart.strong.expect
+++ b/pkg/front_end/testcases/continue_inference_after_error.dart.strong.expect
@@ -25,7 +25,7 @@
static method test() → dynamic {
let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/continue_inference_after_error.dart:10:3: Error: A prefix can't be used as an expression.
lib(new C().missing());
- ^^^" in let final core::Object #t2 = let final dynamic #t3 = new self::C::•() in invalid-expression "pkg/front_end/testcases/continue_inference_after_error.dart:10:15: Error: The method 'missing' isn't defined for the class 'C'.
+ ^^^" in let final core::Object #t2 = invalid-expression "pkg/front_end/testcases/continue_inference_after_error.dart:10:15: Error: The method 'missing' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/continue_inference_after_error.dart'.
Try correcting the name to the name of an existing method, or defining a method named 'missing'.
lib(new C().missing());
diff --git a/pkg/front_end/testcases/continue_inference_after_error.dart.strong.transformed.expect b/pkg/front_end/testcases/continue_inference_after_error.dart.strong.transformed.expect
index 401371d..c8d3090 100644
--- a/pkg/front_end/testcases/continue_inference_after_error.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/continue_inference_after_error.dart.strong.transformed.expect
@@ -25,7 +25,7 @@
static method test() → dynamic {
let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/continue_inference_after_error.dart:10:3: Error: A prefix can't be used as an expression.
lib(new C().missing());
- ^^^" in let final core::Object #t2 = let final self::C #t3 = new self::C::•() in invalid-expression "pkg/front_end/testcases/continue_inference_after_error.dart:10:15: Error: The method 'missing' isn't defined for the class 'C'.
+ ^^^" in let final core::Object #t2 = invalid-expression "pkg/front_end/testcases/continue_inference_after_error.dart:10:15: Error: The method 'missing' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/continue_inference_after_error.dart'.
Try correcting the name to the name of an existing method, or defining a method named 'missing'.
lib(new C().missing());
diff --git a/pkg/front_end/testcases/for_in_without_declaration.dart.strong.expect b/pkg/front_end/testcases/for_in_without_declaration.dart.strong.expect
index 4e9b297..cc7b291 100644
--- a/pkg/front_end/testcases/for_in_without_declaration.dart.strong.expect
+++ b/pkg/front_end/testcases/for_in_without_declaration.dart.strong.expect
@@ -131,21 +131,21 @@
c.{self::Super::untypedSuperInstanceField} = #t12;
}
for (final dynamic #t13 in <dynamic>[]) {
- let final dynamic #t14 = this in invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:37:10: Error: The setter 'unresolved' isn't defined for the class 'C'.
+ invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:37:10: Error: The setter 'unresolved' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/for_in_without_declaration.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
for (unresolved in []) {}
^^^^^^^^^^";
}
- for (final dynamic #t15 in <dynamic>[]) {
- let final dynamic #t16 = this.unresolved in invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:38:21: Error: The setter 'foo' isn't defined for the class 'C'.
+ for (final dynamic #t14 in <dynamic>[]) {
+ invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:38:21: Error: The setter 'foo' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/for_in_without_declaration.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'foo'.
for (unresolved.foo in []) {}
^^^";
}
- for (final dynamic #t17 in <dynamic>[]) {
- let final dynamic #t18 = c in invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:39:12: Error: The setter 'unresolved' isn't defined for the class 'C'.
+ for (final dynamic #t15 in <dynamic>[]) {
+ invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:39:12: Error: The setter 'unresolved' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/for_in_without_declaration.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
for (c.unresolved in []) {}
@@ -155,7 +155,7 @@
invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
for (main() in []) {}
^^^^";
- for (final dynamic #t19 in <dynamic>[]) {
+ for (final dynamic #t16 in <dynamic>[]) {
invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
for (main() in []) {}
^^^^";
@@ -166,7 +166,7 @@
invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
for (var x, y in <int>[]) {
^^^";
- for (final core::int #t20 in <core::int>[]) {
+ for (final core::int #t17 in <core::int>[]) {
invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
for (var x, y in <int>[]) {
^^^";
@@ -179,7 +179,7 @@
}
}
const core::int constant = 0;
- for (final dynamic #t21 in <dynamic>[]) {
+ for (final dynamic #t18 in <dynamic>[]) {
invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:46:10: Error: Setter not found: 'constant'.
for (constant in []) {}
^^^^^^^^";
diff --git a/pkg/front_end/testcases/for_in_without_declaration.dart.strong.transformed.expect b/pkg/front_end/testcases/for_in_without_declaration.dart.strong.transformed.expect
new file mode 100644
index 0000000..cc7b291
--- /dev/null
+++ b/pkg/front_end/testcases/for_in_without_declaration.dart.strong.transformed.expect
@@ -0,0 +1,191 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:32:10: Error: Expected an identifier, but got 'super'.
+// for (super.superInstanceField in []) {}
+// ^^^^^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:33:10: Error: Expected an identifier, but got 'super'.
+// for (super.untypedSuperInstanceField in []) {}
+// ^^^^^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:35:11: Error: Unexpected token '.'.
+// for (c.instanceField in []) {}
+// ^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:36:11: Error: Unexpected token '.'.
+// for (c.untypedSuperInstanceField in []) {}
+// ^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:37:10: Error: Setter not found: 'unresolved'.
+// for (unresolved in []) {}
+// ^^^^^^^^^^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:38:10: Error: Getter not found: 'unresolved'.
+// for (unresolved.foo in []) {}
+// ^^^^^^^^^^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:38:20: Error: Unexpected token '.'.
+// for (unresolved.foo in []) {}
+// ^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:39:11: Error: Unexpected token '.'.
+// for (c.unresolved in []) {}
+// ^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:40:14: Error: Unexpected token '('.
+// for (main() in []) {}
+// ^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
+// for (main() in []) {}
+// ^^^^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:41:15: Error: Unexpected token ','.
+// for (var x, y in <int>[]) {
+// ^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
+// for (var x, y in <int>[]) {
+// ^^^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:46:10: Error: Setter not found: 'constant'.
+// for (constant in []) {}
+// ^^^^^^^^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:37:10: Error: The setter 'unresolved' isn't defined for the class 'C'.
+// - 'C' is from 'pkg/front_end/testcases/for_in_without_declaration.dart'.
+// Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
+// for (unresolved in []) {}
+// ^^^^^^^^^^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:38:21: Error: The setter 'foo' isn't defined for the class 'C'.
+// - 'C' is from 'pkg/front_end/testcases/for_in_without_declaration.dart'.
+// Try correcting the name to the name of an existing setter, or defining a setter or field named 'foo'.
+// for (unresolved.foo in []) {}
+// ^^^
+//
+// pkg/front_end/testcases/for_in_without_declaration.dart:39:12: Error: The setter 'unresolved' isn't defined for the class 'C'.
+// - 'C' is from 'pkg/front_end/testcases/for_in_without_declaration.dart'.
+// Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
+// for (c.unresolved in []) {}
+// ^^^^^^^^^^
+//
+import self as self;
+import "dart:core" as core;
+
+class Super extends core::Object {
+ field core::int superInstanceField = null;
+ field dynamic untypedSuperInstanceField = null;
+ synthetic constructor •() → self::Super
+ : super core::Object::•()
+ ;
+}
+class C extends self::Super {
+ field core::int instanceField = null;
+ field dynamic untypedInstanceField = null;
+ static field core::double staticField = null;
+ static field dynamic untypedStaticField = null;
+ synthetic constructor •() → self::C
+ : super self::Super::•()
+ ;
+ method m() → dynamic {
+ core::String local;
+ dynamic untypedLocal;
+ for (final core::String #t1 in <core::String>[]) {
+ local = #t1;
+ }
+ for (final dynamic #t2 in <dynamic>[]) {
+ untypedLocal = #t2;
+ }
+ for (final core::int #t3 in <core::int>[]) {
+ this.{self::C::instanceField} = #t3;
+ }
+ for (final dynamic #t4 in <dynamic>[]) {
+ this.{self::C::untypedInstanceField} = #t4;
+ }
+ for (final core::double #t5 in <core::double>[]) {
+ self::C::staticField = #t5;
+ }
+ for (final dynamic #t6 in <dynamic>[]) {
+ self::C::untypedStaticField = #t6;
+ }
+ for (final core::bool #t7 in <core::bool>[]) {
+ self::topLevelField = #t7;
+ }
+ for (final dynamic #t8 in <dynamic>[]) {
+ self::untypedTopLevelField = #t8;
+ }
+ for (final core::int #t9 in <core::int>[]) {
+ super.{self::Super::superInstanceField} = #t9;
+ }
+ for (final dynamic #t10 in <dynamic>[]) {
+ super.{self::Super::untypedSuperInstanceField} = #t10;
+ }
+ self::C c = new self::C::•();
+ for (final core::int #t11 in <core::int>[]) {
+ c.{self::C::instanceField} = #t11;
+ }
+ for (final dynamic #t12 in <dynamic>[]) {
+ c.{self::Super::untypedSuperInstanceField} = #t12;
+ }
+ for (final dynamic #t13 in <dynamic>[]) {
+ invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:37:10: Error: The setter 'unresolved' isn't defined for the class 'C'.
+ - 'C' is from 'pkg/front_end/testcases/for_in_without_declaration.dart'.
+Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
+ for (unresolved in []) {}
+ ^^^^^^^^^^";
+ }
+ for (final dynamic #t14 in <dynamic>[]) {
+ invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:38:21: Error: The setter 'foo' isn't defined for the class 'C'.
+ - 'C' is from 'pkg/front_end/testcases/for_in_without_declaration.dart'.
+Try correcting the name to the name of an existing setter, or defining a setter or field named 'foo'.
+ for (unresolved.foo in []) {}
+ ^^^";
+ }
+ for (final dynamic #t15 in <dynamic>[]) {
+ invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:39:12: Error: The setter 'unresolved' isn't defined for the class 'C'.
+ - 'C' is from 'pkg/front_end/testcases/for_in_without_declaration.dart'.
+Try correcting the name to the name of an existing setter, or defining a setter or field named 'unresolved'.
+ for (c.unresolved in []) {}
+ ^^^^^^^^^^";
+ }
+ {
+ invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
+ for (main() in []) {}
+ ^^^^";
+ for (final dynamic #t16 in <dynamic>[]) {
+ invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:40:10: Error: Can't assign to this, so it can't be used in a for-in loop.
+ for (main() in []) {}
+ ^^^^";
+ self::main();
+ }
+ }
+ {
+ invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
+ for (var x, y in <int>[]) {
+ ^^^";
+ for (final core::int #t17 in <core::int>[]) {
+ invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:41:10: Error: A for-in loop can't have more than one loop variable.
+ for (var x, y in <int>[]) {
+ ^^^";
+ dynamic x;
+ dynamic y;
+ {
+ core::print(x);
+ core::print(y);
+ }
+ }
+ }
+ const core::int constant = 0;
+ for (final dynamic #t18 in <dynamic>[]) {
+ invalid-expression "pkg/front_end/testcases/for_in_without_declaration.dart:46:10: Error: Setter not found: 'constant'.
+ for (constant in []) {}
+ ^^^^^^^^";
+ }
+ }
+}
+static field core::bool topLevelField;
+static field dynamic untypedTopLevelField;
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.expect
index 225aa59..1788de2 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.expect
@@ -127,10 +127,10 @@
Try changing the type of the left hand side, or casting the right hand side to 'String'.
x;
^" in x as{TypeError} core::String;
- (core::int) → core::String l3 = (core::int x) → core::String => (let final dynamic #t11 = x in invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:63:14: Error: The method 'substring' isn't defined for the class 'int'.
+ (core::int) → core::String l3 = (core::int x) → core::String => invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:63:14: Error: The method 'substring' isn't defined for the class 'int'.
Try correcting the name to the name of an existing method, or defining a method named 'substring'.
.substring(3);
- ^^^^^^^^^") as{TypeError} core::String;
+ ^^^^^^^^^" as{TypeError} core::String;
(core::String) → core::String l4 = (core::String x) → core::String => x.{core::String::substring}(3);
}
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.transformed.expect
index 1d1b281..1788de2 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart.strong.transformed.expect
@@ -127,10 +127,10 @@
Try changing the type of the left hand side, or casting the right hand side to 'String'.
x;
^" in x as{TypeError} core::String;
- (core::int) → core::String l3 = (core::int x) → core::String => (let final core::int #t11 = x in invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:63:14: Error: The method 'substring' isn't defined for the class 'int'.
+ (core::int) → core::String l3 = (core::int x) → core::String => invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_function_expressions.dart:63:14: Error: The method 'substring' isn't defined for the class 'int'.
Try correcting the name to the name of an existing method, or defining a method named 'substring'.
.substring(3);
- ^^^^^^^^^") as{TypeError} core::String;
+ ^^^^^^^^^" as{TypeError} core::String;
(core::String) → core::String l4 = (core::String x) → core::String => x.{core::String::substring}(3);
}
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.expect
index 22ce919..c0a2ae8 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.expect
@@ -143,10 +143,10 @@
Try changing the type of the left hand side, or casting the right hand side to 'String'.
x;
^" in x as{TypeError} core::String;
- y = <T extends core::Object = dynamic>(core::int x) → core::String => (let final dynamic #t11 = x in invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart:66:10: Error: The method 'substring' isn't defined for the class 'int'.
+ y = <T extends core::Object = dynamic>(core::int x) → core::String => invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart:66:10: Error: The method 'substring' isn't defined for the class 'int'.
Try correcting the name to the name of an existing method, or defining a method named 'substring'.
.substring(3);
- ^^^^^^^^^") as{TypeError} core::String;
+ ^^^^^^^^^" as{TypeError} core::String;
<T extends core::Object = dynamic>(core::String) → core::String z = string2String;
z = <T extends core::Object = dynamic>(core::String x) → core::String => x.{core::String::substring}(3);
}
diff --git a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.transformed.expect
index 77683db..c0a2ae8 100644
--- a/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart.strong.transformed.expect
@@ -143,10 +143,10 @@
Try changing the type of the left hand side, or casting the right hand side to 'String'.
x;
^" in x as{TypeError} core::String;
- y = <T extends core::Object = dynamic>(core::int x) → core::String => (let final core::int #t11 = x in invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart:66:10: Error: The method 'substring' isn't defined for the class 'int'.
+ y = <T extends core::Object = dynamic>(core::int x) → core::String => invalid-expression "pkg/front_end/testcases/inference/downwards_inference_on_generic_function_expressions.dart:66:10: Error: The method 'substring' isn't defined for the class 'int'.
Try correcting the name to the name of an existing method, or defining a method named 'substring'.
.substring(3);
- ^^^^^^^^^") as{TypeError} core::String;
+ ^^^^^^^^^" as{TypeError} core::String;
<T extends core::Object = dynamic>(core::String) → core::String z = string2String;
z = <T extends core::Object = dynamic>(core::String x) → core::String => x.{core::String::substring}(3);
}
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.expect b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.expect
index fd1bbdf..6181d32 100644
--- a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.expect
@@ -25,12 +25,12 @@
static method test() → dynamic {
core::Iterable<asy::Future<core::int>> list = <core::int>[1, 2, 3].{core::Iterable::map}<asy::Future<core::int>>(self::make);
asy::Future<core::List<core::int>> results = asy::Future::wait<core::int>(list);
- asy::Future<core::String> results2 = results.{asy::Future::then}<core::String>((core::List<core::int> list) → asy::FutureOr<core::String> => list.{core::Iterable::fold}<asy::FutureOr<core::String>>("", (asy::FutureOr<core::String> x, core::int y) → asy::FutureOr<core::String> => (let final dynamic #t1 = x in invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:23:120: Error: The method '+' isn't defined for the class 'FutureOr<String>'.
+ asy::Future<core::String> results2 = results.{asy::Future::then}<core::String>((core::List<core::int> list) → asy::FutureOr<core::String> => list.{core::Iterable::fold}<asy::FutureOr<core::String>>("", (asy::FutureOr<core::String> x, core::int y) → asy::FutureOr<core::String> => invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:23:120: Error: The method '+' isn't defined for the class 'FutureOr<String>'.
- 'FutureOr' is from 'dart:async'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
/*@type=int*/ y) => /*info:DYNAMIC_CAST,info:DYNAMIC_INVOKE*/ x /*error:UNDEFINED_OPERATOR*/ +
- ^") as{TypeError} asy::FutureOr<core::String>));
- asy::Future<core::String> results3 = results.{asy::Future::then}<core::String>((core::List<core::int> list) → asy::FutureOr<core::String> => list.{core::Iterable::fold}<asy::FutureOr<core::String>>("", let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:31:108: Error: The argument type 'String Function(String, int)' can't be assigned to the parameter type 'FutureOr<String> Function(FutureOr<String>, int)'.
+ ^" as{TypeError} asy::FutureOr<core::String>));
+ asy::Future<core::String> results3 = results.{asy::Future::then}<core::String>((core::List<core::int> list) → asy::FutureOr<core::String> => list.{core::Iterable::fold}<asy::FutureOr<core::String>>("", let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:31:108: Error: The argument type 'String Function(String, int)' can't be assigned to the parameter type 'FutureOr<String> Function(FutureOr<String>, int)'.
- 'FutureOr' is from 'dart:async'.
Try changing the type of the parameter, or casting the argument to 'FutureOr<String> Function(FutureOr<String>, int)'.
/*info:INFERRED_TYPE_CLOSURE,error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ /*@returnType=String*/ (String
diff --git a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.transformed.expect b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.transformed.expect
index 9a7ba76..6181d32 100644
--- a/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart.strong.transformed.expect
@@ -25,12 +25,12 @@
static method test() → dynamic {
core::Iterable<asy::Future<core::int>> list = <core::int>[1, 2, 3].{core::Iterable::map}<asy::Future<core::int>>(self::make);
asy::Future<core::List<core::int>> results = asy::Future::wait<core::int>(list);
- asy::Future<core::String> results2 = results.{asy::Future::then}<core::String>((core::List<core::int> list) → asy::FutureOr<core::String> => list.{core::Iterable::fold}<asy::FutureOr<core::String>>("", (asy::FutureOr<core::String> x, core::int y) → asy::FutureOr<core::String> => (let final asy::FutureOr<core::String> #t1 = x in invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:23:120: Error: The method '+' isn't defined for the class 'FutureOr<String>'.
+ asy::Future<core::String> results2 = results.{asy::Future::then}<core::String>((core::List<core::int> list) → asy::FutureOr<core::String> => list.{core::Iterable::fold}<asy::FutureOr<core::String>>("", (asy::FutureOr<core::String> x, core::int y) → asy::FutureOr<core::String> => invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:23:120: Error: The method '+' isn't defined for the class 'FutureOr<String>'.
- 'FutureOr' is from 'dart:async'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
/*@type=int*/ y) => /*info:DYNAMIC_CAST,info:DYNAMIC_INVOKE*/ x /*error:UNDEFINED_OPERATOR*/ +
- ^") as{TypeError} asy::FutureOr<core::String>));
- asy::Future<core::String> results3 = results.{asy::Future::then}<core::String>((core::List<core::int> list) → asy::FutureOr<core::String> => list.{core::Iterable::fold}<asy::FutureOr<core::String>>("", let final<BottomType> #t2 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:31:108: Error: The argument type 'String Function(String, int)' can't be assigned to the parameter type 'FutureOr<String> Function(FutureOr<String>, int)'.
+ ^" as{TypeError} asy::FutureOr<core::String>));
+ asy::Future<core::String> results3 = results.{asy::Future::then}<core::String>((core::List<core::int> list) → asy::FutureOr<core::String> => list.{core::Iterable::fold}<asy::FutureOr<core::String>>("", let final<BottomType> #t1 = invalid-expression "pkg/front_end/testcases/inference/generic_methods_iterable_and_future.dart:31:108: Error: The argument type 'String Function(String, int)' can't be assigned to the parameter type 'FutureOr<String> Function(FutureOr<String>, int)'.
- 'FutureOr' is from 'dart:async'.
Try changing the type of the parameter, or casting the argument to 'FutureOr<String> Function(FutureOr<String>, int)'.
/*info:INFERRED_TYPE_CLOSURE,error:ARGUMENT_TYPE_NOT_ASSIGNABLE*/ /*@returnType=String*/ (String
diff --git a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.strong.expect b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.strong.expect
index 565c892..0b2998b 100644
--- a/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.strong.expect
+++ b/pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart.strong.expect
@@ -114,53 +114,53 @@
static field core::int f = 2.{core::num::+}(3);
static field core::int g = 3.{core::int::unary-}();
static field self::B h = new self::A::•().{self::A::+}(3);
-static field dynamic i = let final dynamic #t3 = new self::A::•() in invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:34:79: Error: The method 'unary-' isn't defined for the class 'A'.
+static field dynamic i = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:34:79: Error: The method 'unary-' isn't defined for the class 'A'.
- 'A' is from 'pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart'.
Try correcting the name to the name of an existing method, or defining a method named 'unary-'.
var /*@topType=dynamic*/ i = /*error:UNDEFINED_OPERATOR,info:DYNAMIC_INVOKE*/ -new A();
^";
static field self::B j = null as self::B;
static method test1() → dynamic {
- self::a = let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:38:36: Error: A value of type 'String' can't be assigned to a variable of type 'A'.
+ self::a = let final<BottomType> #t3 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:38:36: Error: A value of type 'String' can't be assigned to a variable of type 'A'.
- 'A' is from 'pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart'.
Try changing the type of the left hand side, or casting the right hand side to 'A'.
a = /*error:INVALID_ASSIGNMENT*/ \"hi\";
^" in "hi" as{TypeError} self::A;
self::a = new self::B::•(3);
- self::b = let final<BottomType> #t5 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:40:36: Error: A value of type 'String' can't be assigned to a variable of type 'B'.
+ self::b = let final<BottomType> #t4 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:40:36: Error: A value of type 'String' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart'.
Try changing the type of the left hand side, or casting the right hand side to 'B'.
b = /*error:INVALID_ASSIGNMENT*/ \"hi\";
^" in "hi" as{TypeError} self::B;
self::b = new self::B::•(3);
self::c1 = <dynamic>[];
- self::c1 = let final core::Set<dynamic> #t6 = col::LinkedHashSet::•<dynamic>() in #t6;
+ self::c1 = let final core::Set<dynamic> #t5 = col::LinkedHashSet::•<dynamic>() in #t5;
self::c2 = <dynamic>[];
- self::c2 = let final core::Set<dynamic> #t7 = col::LinkedHashSet::•<dynamic>() in #t7;
+ self::c2 = let final core::Set<dynamic> #t6 = col::LinkedHashSet::•<dynamic>() in #t6;
self::d = <dynamic, dynamic>{};
- self::d = let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:47:36: Error: A value of type 'int' can't be assigned to a variable of type 'Map<dynamic, dynamic>'.
+ self::d = let final<BottomType> #t7 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:47:36: Error: A value of type 'int' can't be assigned to a variable of type 'Map<dynamic, dynamic>'.
- 'Map' is from 'dart:core'.
Try changing the type of the left hand side, or casting the right hand side to 'Map<dynamic, dynamic>'.
d = /*error:INVALID_ASSIGNMENT*/ 3;
^" in 3 as{TypeError} core::Map<dynamic, dynamic>;
self::e = new self::A::•();
- self::e = let final<BottomType> #t9 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:49:67: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'A'.
+ self::e = let final<BottomType> #t8 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:49:67: Error: A value of type 'Map<dynamic, dynamic>' can't be assigned to a variable of type 'A'.
- 'Map' is from 'dart:core'.
- 'A' is from 'pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart'.
Try changing the type of the left hand side, or casting the right hand side to 'A'.
e = /*error:INVALID_ASSIGNMENT*/ /*@typeArgs=dynamic, dynamic*/ {};
^" in <dynamic, dynamic>{} as{TypeError} self::A;
self::f = 3;
- self::f = let final<BottomType> #t10 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:51:36: Error: A value of type 'bool' can't be assigned to a variable of type 'int'.
+ self::f = let final<BottomType> #t9 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:51:36: Error: A value of type 'bool' can't be assigned to a variable of type 'int'.
Try changing the type of the left hand side, or casting the right hand side to 'int'.
f = /*error:INVALID_ASSIGNMENT*/ false;
^" in false as{TypeError} core::int;
self::g = 1;
- self::g = let final<BottomType> #t11 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:53:36: Error: A value of type 'bool' can't be assigned to a variable of type 'int'.
+ self::g = let final<BottomType> #t10 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:53:36: Error: A value of type 'bool' can't be assigned to a variable of type 'int'.
Try changing the type of the left hand side, or casting the right hand side to 'int'.
g = /*error:INVALID_ASSIGNMENT*/ false;
^" in false as{TypeError} core::int;
- self::h = let final<BottomType> #t12 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:54:36: Error: A value of type 'bool' can't be assigned to a variable of type 'B'.
+ self::h = let final<BottomType> #t11 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:54:36: Error: A value of type 'bool' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart'.
Try changing the type of the left hand side, or casting the right hand side to 'B'.
h = /*error:INVALID_ASSIGNMENT*/ false;
@@ -168,12 +168,12 @@
self::h = new self::B::•("b");
self::i = false;
self::j = new self::B::•("b");
- self::j = let final<BottomType> #t13 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:58:36: Error: A value of type 'bool' can't be assigned to a variable of type 'B'.
+ self::j = let final<BottomType> #t12 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:58:36: Error: A value of type 'bool' can't be assigned to a variable of type 'B'.
- 'B' is from 'pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart'.
Try changing the type of the left hand side, or casting the right hand side to 'B'.
j = /*error:INVALID_ASSIGNMENT*/ false;
^" in false as{TypeError} self::B;
- self::j = let final<BottomType> #t14 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:59:58: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'B'.
+ self::j = let final<BottomType> #t13 = invalid-expression "pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart:59:58: Error: A value of type 'List<dynamic>' can't be assigned to a variable of type 'B'.
- 'List' is from 'dart:core'.
- 'B' is from 'pkg/front_end/testcases/inference/infer_from_complex_expressions_if_outer_most_value_is_precise.dart'.
Try changing the type of the left hand side, or casting the right hand side to 'B'.
diff --git a/pkg/front_end/testcases/invalid_type.dart.strong.expect b/pkg/front_end/testcases/invalid_type.dart.strong.expect
index 3bd6201..f26928f 100644
--- a/pkg/front_end/testcases/invalid_type.dart.strong.expect
+++ b/pkg/front_end/testcases/invalid_type.dart.strong.expect
@@ -30,7 +30,7 @@
}
static method test() → dynamic {
(null as invalid-type).bar();
- let final dynamic #t1 = null in invalid-expression "pkg/front_end/testcases/invalid_type.dart:13:8: Error: The method 'bar' isn't defined for the class 'Null'.
+ invalid-expression "pkg/front_end/testcases/invalid_type.dart:13:8: Error: The method 'bar' isn't defined for the class 'Null'.
Try correcting the name to the name of an existing method, or defining a method named 'bar'.
null.bar();
^^^";
diff --git a/pkg/front_end/testcases/many_errors.dart.legacy.expect b/pkg/front_end/testcases/many_errors.dart.legacy.expect
index 119e782..07f53cf 100644
--- a/pkg/front_end/testcases/many_errors.dart.legacy.expect
+++ b/pkg/front_end/testcases/many_errors.dart.legacy.expect
@@ -76,10 +76,14 @@
: super core::Object::•()
;
}
-external static method foo(core::String x) → dynamic
+external static method foo(core::String x) → dynamic {
invalid-expression "pkg/front_end/testcases/many_errors.dart:13:24: Error: An external or native method can't have a body.
external foo(String x) {
^";
+ {
+ return x.length;
+ }
+}
static method m() → dynamic {
throw invalid-expression "pkg/front_end/testcases/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
diff --git a/pkg/front_end/testcases/many_errors.dart.legacy.transformed.expect b/pkg/front_end/testcases/many_errors.dart.legacy.transformed.expect
index 119e782..07f53cf 100644
--- a/pkg/front_end/testcases/many_errors.dart.legacy.transformed.expect
+++ b/pkg/front_end/testcases/many_errors.dart.legacy.transformed.expect
@@ -76,10 +76,14 @@
: super core::Object::•()
;
}
-external static method foo(core::String x) → dynamic
+external static method foo(core::String x) → dynamic {
invalid-expression "pkg/front_end/testcases/many_errors.dart:13:24: Error: An external or native method can't have a body.
external foo(String x) {
^";
+ {
+ return x.length;
+ }
+}
static method m() → dynamic {
throw invalid-expression "pkg/front_end/testcases/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
Try using a constructor or factory that is 'const'.
diff --git a/pkg/front_end/testcases/many_errors.dart.strong.expect b/pkg/front_end/testcases/many_errors.dart.strong.expect
new file mode 100644
index 0000000..37fcff8
--- /dev/null
+++ b/pkg/front_end/testcases/many_errors.dart.strong.expect
@@ -0,0 +1,104 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/many_errors.dart:8:3: Error: A const constructor can't have a body.
+// Try removing either the 'const' keyword or the body.
+// const A.named1() sync* {}
+// ^^^^^
+//
+// pkg/front_end/testcases/many_errors.dart:13:1: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^^^^^^^^
+//
+// pkg/front_end/testcases/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+// const A.named1() sync* {}
+// ^
+//
+// pkg/front_end/testcases/many_errors.dart:10:26: Error: New expression is not a constant expression.
+// const A.named2() : x = new Object();
+// ^^^
+//
+// pkg/front_end/testcases/many_errors.dart:10:24: Error: 'x' is a final instance variable that has already been initialized.
+// const A.named2() : x = new Object();
+// ^
+// pkg/front_end/testcases/many_errors.dart:6:9: Context: 'x' was initialized here.
+// final x = null;
+// ^
+//
+// pkg/front_end/testcases/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const A.named2() : x = new Object();
+// ^
+//
+// pkg/front_end/testcases/many_errors.dart:13:24: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^
+//
+// pkg/front_end/testcases/many_errors.dart:28:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// const AbstractClass.id();
+// ^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const AbstractClass.id();
+// ^
+//
+// pkg/front_end/testcases/many_errors.dart:29:28: Error: The getter 'b' isn't defined for the class 'B'.
+// - 'B' is from 'pkg/front_end/testcases/many_errors.dart'.
+// Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
+// (new C()?.b ??= new B()).b;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ final field dynamic x = null;
+ constructor named1() → self::A
+ : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+ const A.named1() sync* {}
+ ^" {}
+ const constructor named2() → self::A
+ : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+ const A.named2() : x = new Object();
+ ^", super core::Object::•()
+ ;
+}
+class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+}
+class C extends core::Object {
+ field self::B b = null;
+ synthetic constructor •() → self::C
+ : super core::Object::•()
+ ;
+}
+abstract class AbstractClass extends core::Object {
+ const constructor id() → self::AbstractClass
+ : super core::Object::•()
+ ;
+}
+external static method foo(core::String x) → dynamic {
+ invalid-expression "pkg/front_end/testcases/many_errors.dart:13:24: Error: An external or native method can't have a body.
+external foo(String x) {
+ ^";
+ {
+ return x.{core::String::length};
+ }
+}
+static method m() → dynamic {
+ throw invalid-expression "pkg/front_end/testcases/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+ const AbstractClass.id();
+ ^";
+ invalid-expression "pkg/front_end/testcases/many_errors.dart:29:28: Error: The getter 'b' isn't defined for the class 'B'.
+ - 'B' is from 'pkg/front_end/testcases/many_errors.dart'.
+Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
+ (new C()?.b ??= new B()).b;
+ ^";
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/many_errors.dart.strong.transformed.expect b/pkg/front_end/testcases/many_errors.dart.strong.transformed.expect
new file mode 100644
index 0000000..37fcff8
--- /dev/null
+++ b/pkg/front_end/testcases/many_errors.dart.strong.transformed.expect
@@ -0,0 +1,104 @@
+library;
+//
+// Problems in library:
+//
+// pkg/front_end/testcases/many_errors.dart:8:3: Error: A const constructor can't have a body.
+// Try removing either the 'const' keyword or the body.
+// const A.named1() sync* {}
+// ^^^^^
+//
+// pkg/front_end/testcases/many_errors.dart:13:1: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^^^^^^^^
+//
+// pkg/front_end/testcases/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+// const A.named1() sync* {}
+// ^
+//
+// pkg/front_end/testcases/many_errors.dart:10:26: Error: New expression is not a constant expression.
+// const A.named2() : x = new Object();
+// ^^^
+//
+// pkg/front_end/testcases/many_errors.dart:10:24: Error: 'x' is a final instance variable that has already been initialized.
+// const A.named2() : x = new Object();
+// ^
+// pkg/front_end/testcases/many_errors.dart:6:9: Context: 'x' was initialized here.
+// final x = null;
+// ^
+//
+// pkg/front_end/testcases/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const A.named2() : x = new Object();
+// ^
+//
+// pkg/front_end/testcases/many_errors.dart:13:24: Error: An external or native method can't have a body.
+// external foo(String x) {
+// ^
+//
+// pkg/front_end/testcases/many_errors.dart:28:9: Error: The class 'AbstractClass' is abstract and can't be instantiated.
+// const AbstractClass.id();
+// ^^^^^^^^^^^^^
+//
+// pkg/front_end/testcases/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+// Try using a constructor or factory that is 'const'.
+// const AbstractClass.id();
+// ^
+//
+// pkg/front_end/testcases/many_errors.dart:29:28: Error: The getter 'b' isn't defined for the class 'B'.
+// - 'B' is from 'pkg/front_end/testcases/many_errors.dart'.
+// Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
+// (new C()?.b ??= new B()).b;
+// ^
+//
+import self as self;
+import "dart:core" as core;
+
+class A extends core::Object {
+ final field dynamic x = null;
+ constructor named1() → self::A
+ : final dynamic #t1 = invalid-expression "pkg/front_end/testcases/many_errors.dart:8:26: Error: Constructor bodies can't use 'async', 'async*', or 'sync*'.
+ const A.named1() sync* {}
+ ^" {}
+ const constructor named2() → self::A
+ : final dynamic #t2 = throw invalid-expression "pkg/front_end/testcases/many_errors.dart:10:24: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+ const A.named2() : x = new Object();
+ ^", super core::Object::•()
+ ;
+}
+class B extends core::Object {
+ synthetic constructor •() → self::B
+ : super core::Object::•()
+ ;
+}
+class C extends core::Object {
+ field self::B b = null;
+ synthetic constructor •() → self::C
+ : super core::Object::•()
+ ;
+}
+abstract class AbstractClass extends core::Object {
+ const constructor id() → self::AbstractClass
+ : super core::Object::•()
+ ;
+}
+external static method foo(core::String x) → dynamic {
+ invalid-expression "pkg/front_end/testcases/many_errors.dart:13:24: Error: An external or native method can't have a body.
+external foo(String x) {
+ ^";
+ {
+ return x.{core::String::length};
+ }
+}
+static method m() → dynamic {
+ throw invalid-expression "pkg/front_end/testcases/many_errors.dart:28:9: Error: Cannot invoke a non-'const' constructor where a const expression is expected.
+Try using a constructor or factory that is 'const'.
+ const AbstractClass.id();
+ ^";
+ invalid-expression "pkg/front_end/testcases/many_errors.dart:29:28: Error: The getter 'b' isn't defined for the class 'B'.
+ - 'B' is from 'pkg/front_end/testcases/many_errors.dart'.
+Try correcting the name to the name of an existing getter, or defining a getter or field named 'b'.
+ (new C()?.b ??= new B()).b;
+ ^";
+}
+static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.expect
index 04f0a8f..cecd01b 100644
--- a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.expect
+++ b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.expect
@@ -13,7 +13,7 @@
static const field core::int c = 1;
static method main() → dynamic {
self::c;
- let final dynamic #t1 = self::c in invalid-expression "pkg/front_end/testcases/rasta/constant_get_and_invoke.dart:8:4: Error: The method 'call' isn't defined for the class 'int'.
+ invalid-expression "pkg/front_end/testcases/rasta/constant_get_and_invoke.dart:8:4: 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'.
c();
^";
diff --git a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.transformed.expect
index cc89059..cecd01b 100644
--- a/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/rasta/constant_get_and_invoke.dart.strong.transformed.expect
@@ -13,7 +13,7 @@
static const field core::int c = 1;
static method main() → dynamic {
self::c;
- let final core::int #t1 = self::c in invalid-expression "pkg/front_end/testcases/rasta/constant_get_and_invoke.dart:8:4: Error: The method 'call' isn't defined for the class 'int'.
+ invalid-expression "pkg/front_end/testcases/rasta/constant_get_and_invoke.dart:8:4: 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'.
c();
^";
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.strong.expect
index da9ea12..c9b5781 100644
--- a/pkg/front_end/testcases/rasta/issue_000032.dart.strong.expect
+++ b/pkg/front_end/testcases/rasta/issue_000032.dart.strong.expect
@@ -41,7 +41,7 @@
: super core::Object::•() {}
}
static method main() → dynamic {
- let final dynamic #t1 = self::C in invalid-expression "pkg/front_end/testcases/rasta/issue_000032.dart:10:4: Error: The method '<' isn't defined for the class 'Type'.
+ invalid-expression "pkg/front_end/testcases/rasta/issue_000032.dart:10:4: Error: The method '<' isn't defined for the class 'Type'.
- 'Type' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named '<'.
C<
diff --git a/pkg/front_end/testcases/rasta/issue_000032.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000032.dart.strong.transformed.expect
index 4a010d8..c9b5781 100644
--- a/pkg/front_end/testcases/rasta/issue_000032.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000032.dart.strong.transformed.expect
@@ -41,7 +41,7 @@
: super core::Object::•() {}
}
static method main() → dynamic {
- let final core::Type #t1 = self::C in invalid-expression "pkg/front_end/testcases/rasta/issue_000032.dart:10:4: Error: The method '<' isn't defined for the class 'Type'.
+ invalid-expression "pkg/front_end/testcases/rasta/issue_000032.dart:10:4: Error: The method '<' isn't defined for the class 'Type'.
- 'Type' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named '<'.
C<
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.strong.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.strong.expect
index 75306d4..801849b 100644
--- a/pkg/front_end/testcases/rasta/issue_000044.dart.strong.expect
+++ b/pkg/front_end/testcases/rasta/issue_000044.dart.strong.expect
@@ -80,11 +80,11 @@
static factory good() → self::C
let dynamic #redirecting_factory = self::C::constant in invalid-expression;
method notEvenAConstructor(dynamic a) → self::C
- return (let final dynamic #t1 = this in invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:21:30: Error: The getter 'h' isn't defined for the class 'C'.
+ return invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:21:30: Error: The getter 'h' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/rasta/issue_000044.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'h'.
C notEvenAConstructor(a) = h;
- ^") as{TypeError} self::C;
+ ^" as{TypeError} self::C;
}
static method b(dynamic c) → invalid-type
return invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:7:10: Error: Getter not found: 'd'.
diff --git a/pkg/front_end/testcases/rasta/issue_000044.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/issue_000044.dart.strong.transformed.expect
index dd30341..6ea0318 100644
--- a/pkg/front_end/testcases/rasta/issue_000044.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/rasta/issue_000044.dart.strong.transformed.expect
@@ -80,11 +80,11 @@
static factory good() → self::C
let<BottomType> #redirecting_factory = self::C::constant in invalid-expression;
method notEvenAConstructor(dynamic a) → self::C
- return (let final self::C #t1 = this in invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:21:30: Error: The getter 'h' isn't defined for the class 'C'.
+ return invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:21:30: Error: The getter 'h' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/rasta/issue_000044.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'h'.
C notEvenAConstructor(a) = h;
- ^") as{TypeError} self::C;
+ ^" as{TypeError} self::C;
}
static method b(dynamic c) → invalid-type
return invalid-expression "pkg/front_end/testcases/rasta/issue_000044.dart:7:10: Error: Getter not found: 'd'.
diff --git a/pkg/front_end/testcases/rasta/static.dart.strong.expect b/pkg/front_end/testcases/rasta/static.dart.strong.expect
index 34781bf..34a6ee1 100644
--- a/pkg/front_end/testcases/rasta/static.dart.strong.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.strong.expect
@@ -264,19 +264,19 @@
self::use(self::Foo::staticSetter = invalid-expression "pkg/front_end/testcases/rasta/static.dart:51:15: Error: Getter not found: 'staticSetter'.
use(++Foo.staticSetter);
^^^^^^^^^^^^".+(1));
- let final dynamic #t11 = self::Foo::staticConstant in invalid-expression "pkg/front_end/testcases/rasta/static.dart:53:23: Error: The method 'call' isn't defined for the class 'int'.
+ invalid-expression "pkg/front_end/testcases/rasta/static.dart:53:23: 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'.
Foo.staticConstant();
^";
- self::use(let final dynamic #t12 = self::Foo::staticConstant in invalid-expression "pkg/front_end/testcases/rasta/static.dart:54:27: Error: The method 'call' isn't defined for the class 'int'.
+ self::use(invalid-expression "pkg/front_end/testcases/rasta/static.dart:54:27: 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'.
use(Foo.staticConstant());
^");
- let final dynamic #t13 = self::Foo::staticField in invalid-expression "pkg/front_end/testcases/rasta/static.dart:55:20: Error: The method 'call' isn't defined for the class 'int'.
+ invalid-expression "pkg/front_end/testcases/rasta/static.dart:55: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'.
Foo.staticField();
^";
- self::use(let final dynamic #t14 = self::Foo::staticField in invalid-expression "pkg/front_end/testcases/rasta/static.dart:56:24: Error: The method 'call' isn't defined for the class 'int'.
+ self::use(invalid-expression "pkg/front_end/testcases/rasta/static.dart:56:24: 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'.
use(Foo.staticField());
^");
@@ -315,29 +315,29 @@
self::Foo::staticConstant.{core::Object::==}(null) ?{core::int} invalid-expression "pkg/front_end/testcases/rasta/static.dart:75:9: Error: Setter not found: 'staticConstant'.
Foo.staticConstant ??= 87;
^^^^^^^^^^^^^^" : null;
- self::use(let final core::int #t15 = self::Foo::staticConstant in #t15.{core::Object::==}(null) ?{core::int} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
+ self::use(let final core::int #t11 = self::Foo::staticConstant in #t11.{core::Object::==}(null) ?{core::int} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
use(Foo.staticConstant ??= 87);
- ^^^^^^^^^^^^^^" : #t15);
+ ^^^^^^^^^^^^^^" : #t11);
self::Foo::staticField.{core::num::==}(null) ?{core::int} self::Foo::staticField = 87 : null;
- self::use(let final core::int #t16 = self::Foo::staticField in #t16.{core::num::==}(null) ?{core::int} self::Foo::staticField = 87 : #t16);
+ self::use(let final core::int #t12 = self::Foo::staticField in #t12.{core::num::==}(null) ?{core::int} self::Foo::staticField = 87 : #t12);
self::Foo::staticFunction.{core::Object::==}(null) ?{core::Object} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
Foo.staticFunction ??= 87;
^^^^^^^^^^^^^^" : null;
- self::use(let final () → dynamic #t17 = self::Foo::staticFunction in #t17.{core::Object::==}(null) ?{core::Object} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
+ self::use(let final () → dynamic #t13 = self::Foo::staticFunction in #t13.{core::Object::==}(null) ?{core::Object} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
use(Foo.staticFunction ??= 87);
- ^^^^^^^^^^^^^^" : #t17);
+ ^^^^^^^^^^^^^^" : #t13);
self::Foo::staticGetter.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:81:9: Error: Setter not found: 'staticGetter'.
Foo.staticGetter ??= 87;
^^^^^^^^^^^^" : null;
- self::use(let final dynamic #t18 = self::Foo::staticGetter in #t18.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:82:13: Error: Setter not found: 'staticGetter'.
+ self::use(let final dynamic #t14 = self::Foo::staticGetter in #t14.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:82:13: Error: Setter not found: 'staticGetter'.
use(Foo.staticGetter ??= 87);
- ^^^^^^^^^^^^" : #t18);
+ ^^^^^^^^^^^^" : #t14);
invalid-expression "pkg/front_end/testcases/rasta/static.dart:83:9: Error: Getter not found: 'staticSetter'.
Foo.staticSetter ??= 87;
^^^^^^^^^^^^".{core::Object::==}(null) ?{dynamic} self::Foo::staticSetter = 87 : null;
- self::use(let final dynamic #t19 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:84:13: Error: Getter not found: 'staticSetter'.
+ self::use(let final dynamic #t15 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:84:13: Error: Getter not found: 'staticSetter'.
use(Foo.staticSetter ??= 87);
- ^^^^^^^^^^^^" in #t19.{core::Object::==}(null) ?{dynamic} self::Foo::staticSetter = 87 : #t19);
+ ^^^^^^^^^^^^" in #t15.{core::Object::==}(null) ?{dynamic} self::Foo::staticSetter = 87 : #t15);
}
on core::NoSuchMethodError catch(no-exception-var) {
}
diff --git a/pkg/front_end/testcases/rasta/static.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/static.dart.strong.transformed.expect
index 02d5c6b..34a6ee1 100644
--- a/pkg/front_end/testcases/rasta/static.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/rasta/static.dart.strong.transformed.expect
@@ -264,19 +264,19 @@
self::use(self::Foo::staticSetter = invalid-expression "pkg/front_end/testcases/rasta/static.dart:51:15: Error: Getter not found: 'staticSetter'.
use(++Foo.staticSetter);
^^^^^^^^^^^^".+(1));
- let final core::int #t11 = self::Foo::staticConstant in invalid-expression "pkg/front_end/testcases/rasta/static.dart:53:23: Error: The method 'call' isn't defined for the class 'int'.
+ invalid-expression "pkg/front_end/testcases/rasta/static.dart:53:23: 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'.
Foo.staticConstant();
^";
- self::use(let final core::int #t12 = self::Foo::staticConstant in invalid-expression "pkg/front_end/testcases/rasta/static.dart:54:27: Error: The method 'call' isn't defined for the class 'int'.
+ self::use(invalid-expression "pkg/front_end/testcases/rasta/static.dart:54:27: 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'.
use(Foo.staticConstant());
^");
- let final core::int #t13 = self::Foo::staticField in invalid-expression "pkg/front_end/testcases/rasta/static.dart:55:20: Error: The method 'call' isn't defined for the class 'int'.
+ invalid-expression "pkg/front_end/testcases/rasta/static.dart:55: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'.
Foo.staticField();
^";
- self::use(let final core::int #t14 = self::Foo::staticField in invalid-expression "pkg/front_end/testcases/rasta/static.dart:56:24: Error: The method 'call' isn't defined for the class 'int'.
+ self::use(invalid-expression "pkg/front_end/testcases/rasta/static.dart:56:24: 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'.
use(Foo.staticField());
^");
@@ -315,29 +315,29 @@
self::Foo::staticConstant.{core::Object::==}(null) ?{core::int} invalid-expression "pkg/front_end/testcases/rasta/static.dart:75:9: Error: Setter not found: 'staticConstant'.
Foo.staticConstant ??= 87;
^^^^^^^^^^^^^^" : null;
- self::use(let final core::int #t15 = self::Foo::staticConstant in #t15.{core::Object::==}(null) ?{core::int} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
+ self::use(let final core::int #t11 = self::Foo::staticConstant in #t11.{core::Object::==}(null) ?{core::int} invalid-expression "pkg/front_end/testcases/rasta/static.dart:76:13: Error: Setter not found: 'staticConstant'.
use(Foo.staticConstant ??= 87);
- ^^^^^^^^^^^^^^" : #t15);
+ ^^^^^^^^^^^^^^" : #t11);
self::Foo::staticField.{core::num::==}(null) ?{core::int} self::Foo::staticField = 87 : null;
- self::use(let final core::int #t16 = self::Foo::staticField in #t16.{core::num::==}(null) ?{core::int} self::Foo::staticField = 87 : #t16);
+ self::use(let final core::int #t12 = self::Foo::staticField in #t12.{core::num::==}(null) ?{core::int} self::Foo::staticField = 87 : #t12);
self::Foo::staticFunction.{core::Object::==}(null) ?{core::Object} invalid-expression "pkg/front_end/testcases/rasta/static.dart:79:9: Error: Setter not found: 'staticFunction'.
Foo.staticFunction ??= 87;
^^^^^^^^^^^^^^" : null;
- self::use(let final () → dynamic #t17 = self::Foo::staticFunction in #t17.{core::Object::==}(null) ?{core::Object} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
+ self::use(let final () → dynamic #t13 = self::Foo::staticFunction in #t13.{core::Object::==}(null) ?{core::Object} invalid-expression "pkg/front_end/testcases/rasta/static.dart:80:13: Error: Setter not found: 'staticFunction'.
use(Foo.staticFunction ??= 87);
- ^^^^^^^^^^^^^^" : #t17);
+ ^^^^^^^^^^^^^^" : #t13);
self::Foo::staticGetter.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:81:9: Error: Setter not found: 'staticGetter'.
Foo.staticGetter ??= 87;
^^^^^^^^^^^^" : null;
- self::use(let final dynamic #t18 = self::Foo::staticGetter in #t18.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:82:13: Error: Setter not found: 'staticGetter'.
+ self::use(let final dynamic #t14 = self::Foo::staticGetter in #t14.{core::Object::==}(null) ?{dynamic} invalid-expression "pkg/front_end/testcases/rasta/static.dart:82:13: Error: Setter not found: 'staticGetter'.
use(Foo.staticGetter ??= 87);
- ^^^^^^^^^^^^" : #t18);
+ ^^^^^^^^^^^^" : #t14);
invalid-expression "pkg/front_end/testcases/rasta/static.dart:83:9: Error: Getter not found: 'staticSetter'.
Foo.staticSetter ??= 87;
^^^^^^^^^^^^".{core::Object::==}(null) ?{dynamic} self::Foo::staticSetter = 87 : null;
- self::use(let final dynamic #t19 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:84:13: Error: Getter not found: 'staticSetter'.
+ self::use(let final dynamic #t15 = invalid-expression "pkg/front_end/testcases/rasta/static.dart:84:13: Error: Getter not found: 'staticSetter'.
use(Foo.staticSetter ??= 87);
- ^^^^^^^^^^^^" in #t19.{core::Object::==}(null) ?{dynamic} self::Foo::staticSetter = 87 : #t19);
+ ^^^^^^^^^^^^" in #t15.{core::Object::==}(null) ?{dynamic} self::Foo::staticSetter = 87 : #t15);
}
on core::NoSuchMethodError catch(no-exception-var) {
}
diff --git a/pkg/front_end/testcases/rasta/super.dart.strong.expect b/pkg/front_end/testcases/rasta/super.dart.strong.expect
index e85ea19..72a069a 100644
--- a/pkg/front_end/testcases/rasta/super.dart.strong.expect
+++ b/pkg/front_end/testcases/rasta/super.dart.strong.expect
@@ -463,22 +463,22 @@
self::use(let final dynamic #t17 = super.{self::A::i} in let final dynamic #t18 = super.{self::B::i} = #t17.+(1) in #t17);
let final core::int #t19 = 87 in super.{self::A::[]=}(#t19, super.{self::A::[]}(#t19).+(1));
self::use(let final core::int #t20 = 87 in let final dynamic #t21 = super.{self::A::[]}(#t20) in let final void #t22 = super.{self::A::[]=}(#t20, #t21.+(1)) in #t21);
- super.m = let final dynamic #t23 = super.{self::A::m} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:95:12: Error: The method '+' isn't defined for the class 'void Function()'.
+ super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:95:12: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
super.m++;
^";
- self::use(let final () → void #t24 = super.{self::A::m} in let final dynamic #t25 = super.m = let final dynamic #t26 = #t24 in invalid-expression "pkg/front_end/testcases/rasta/super.dart:96:16: Error: The method '+' isn't defined for the class 'void Function()'.
+ self::use(let final () → void #t23 = super.{self::A::m} in let final dynamic #t24 = super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:96:16: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
use(super.m++);
- ^" in #t24);
- super.{self::A::n} = let final dynamic #t27 = super.{self::A::n} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:97:12: Error: The method '+' isn't defined for the class 'void Function()'.
+ ^" in #t23);
+ super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:97:12: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
super.n++;
^";
- self::use(let final () → void #t28 = super.{self::A::n} in let final dynamic #t29 = super.{self::A::n} = let final dynamic #t30 = #t28 in invalid-expression "pkg/front_end/testcases/rasta/super.dart:98:16: Error: The method '+' isn't defined for the class 'void Function()'.
+ self::use(let final () → void #t25 = super.{self::A::n} in let final dynamic #t26 = super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:98:16: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
use(super.n++);
- ^" in #t28);
+ ^" in #t25);
super.{self::A::a} = super.{self::A::a}.+(1);
self::use(super.{self::A::a} = super.{self::A::a}.+(1));
super.{self::A::b} = super.{self::B::b}.+(1);
@@ -497,21 +497,21 @@
self::use(super.{self::A::h} = super.{self::A::h}.+(1));
super.{self::B::i} = super.{self::A::i}.+(1);
self::use(super.{self::B::i} = super.{self::A::i}.+(1));
- let final core::int #t31 = 87 in let final dynamic #t32 = super.{self::A::[]}(#t31).+(1) in let final void #t33 = super.{self::A::[]=}(#t31, #t32) in #t32;
- self::use(let final core::int #t34 = 87 in let final dynamic #t35 = super.{self::A::[]}(#t34).+(1) in let final void #t36 = super.{self::A::[]=}(#t34, #t35) in #t35);
- super.m = let final dynamic #t37 = super.{self::A::m} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:120:5: Error: The method '+' isn't defined for the class 'void Function()'.
+ let final core::int #t27 = 87 in let final dynamic #t28 = super.{self::A::[]}(#t27).+(1) in let final void #t29 = super.{self::A::[]=}(#t27, #t28) in #t28;
+ self::use(let final core::int #t30 = 87 in let final dynamic #t31 = super.{self::A::[]}(#t30).+(1) in let final void #t32 = super.{self::A::[]=}(#t30, #t31) in #t31);
+ super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:120:5: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
++super.m;
^";
- self::use(super.m = let final dynamic #t38 = super.{self::A::m} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:121:9: Error: The method '+' isn't defined for the class 'void Function()'.
+ self::use(super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:121:9: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
use(++super.m);
^");
- super.{self::A::n} = let final dynamic #t39 = super.{self::A::n} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:122:5: Error: The method '+' isn't defined for the class 'void Function()'.
+ super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:122:5: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
++super.n;
^";
- self::use(super.{self::A::n} = let final dynamic #t40 = super.{self::A::n} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:123:9: Error: The method '+' isn't defined for the class 'void Function()'.
+ self::use(super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:123:9: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
use(++super.n);
^");
@@ -536,15 +536,15 @@
super.{self::A::[]}(87).call();
self::use(super.{self::A::[]}(87).call());
super.{self::A::m}();
- self::use(let final<BottomType> #t41 = invalid-expression "pkg/front_end/testcases/rasta/super.dart:146:15: Error: This expression has type 'void' and can't be used.
+ self::use(let final<BottomType> #t33 = invalid-expression "pkg/front_end/testcases/rasta/super.dart:146:15: Error: This expression has type 'void' and can't be used.
use(super.m());
^" in super.{self::A::m}());
super.{self::A::m}(87);
- self::use(let final<BottomType> #t42 = invalid-expression "pkg/front_end/testcases/rasta/super.dart:148:15: Error: This expression has type 'void' and can't be used.
+ self::use(let final<BottomType> #t34 = invalid-expression "pkg/front_end/testcases/rasta/super.dart:148:15: Error: This expression has type 'void' and can't be used.
use(super.m(87));
^" in super.{self::A::m}(87));
super.{self::A::n}(87);
- self::use(let final<BottomType> #t43 = invalid-expression "pkg/front_end/testcases/rasta/super.dart:150:15: Error: This expression has type 'void' and can't be used.
+ self::use(let final<BottomType> #t35 = invalid-expression "pkg/front_end/testcases/rasta/super.dart:150:15: Error: This expression has type 'void' and can't be used.
use(super.n(87));
^" in super.{self::A::n}(87));
super.{self::A::a} = 42;
@@ -566,35 +566,35 @@
super.{self::B::i} = 42;
self::use(super.{self::B::i} = 42);
super.{self::A::[]=}(87, 42);
- self::use(let final core::int #t44 = 87 in let final core::int #t45 = 42 in let final void #t46 = super.{self::A::[]=}(#t44, #t45) in #t45);
+ self::use(let final core::int #t36 = 87 in let final core::int #t37 = 42 in let final void #t38 = super.{self::A::[]=}(#t36, #t37) in #t37);
super.m = 42;
self::use(super.m = 42);
super.{self::A::n} = 42;
self::use(super.{self::A::n} = 42);
super.{self::A::a}.{core::Object::==}(null) ?{dynamic} super.{self::A::a} = 42 : null;
- self::use(let final dynamic #t47 = super.{self::A::a} in #t47.{core::Object::==}(null) ?{dynamic} super.{self::A::a} = 42 : #t47);
+ self::use(let final dynamic #t39 = super.{self::A::a} in #t39.{core::Object::==}(null) ?{dynamic} super.{self::A::a} = 42 : #t39);
super.{self::B::b}.{core::Object::==}(null) ?{dynamic} super.{self::A::b} = 42 : null;
- self::use(let final dynamic #t48 = super.{self::B::b} in #t48.{core::Object::==}(null) ?{dynamic} super.{self::A::b} = 42 : #t48);
+ self::use(let final dynamic #t40 = super.{self::B::b} in #t40.{core::Object::==}(null) ?{dynamic} super.{self::A::b} = 42 : #t40);
super.{self::A::c}.{core::Object::==}(null) ?{dynamic} super.{self::B::c} = 42 : null;
- self::use(let final dynamic #t49 = super.{self::A::c} in #t49.{core::Object::==}(null) ?{dynamic} super.{self::B::c} = 42 : #t49);
+ self::use(let final dynamic #t41 = super.{self::A::c} in #t41.{core::Object::==}(null) ?{dynamic} super.{self::B::c} = 42 : #t41);
super.{self::B::d}.{core::Object::==}(null) ?{dynamic} super.{self::A::d} = 42 : null;
- self::use(let final dynamic #t50 = super.{self::B::d} in #t50.{core::Object::==}(null) ?{dynamic} super.{self::A::d} = 42 : #t50);
+ self::use(let final dynamic #t42 = super.{self::B::d} in #t42.{core::Object::==}(null) ?{dynamic} super.{self::A::d} = 42 : #t42);
super.{self::A::e}.{core::Object::==}(null) ?{dynamic} super.e = 42 : null;
- self::use(let final dynamic #t51 = super.{self::A::e} in #t51.{core::Object::==}(null) ?{dynamic} super.e = 42 : #t51);
+ self::use(let final dynamic #t43 = super.{self::A::e} in #t43.{core::Object::==}(null) ?{dynamic} super.e = 42 : #t43);
super.{self::A::f}.{core::Object::==}(null) ?{dynamic} super.f = 42 : null;
- self::use(let final dynamic #t52 = super.{self::A::f} in #t52.{core::Object::==}(null) ?{dynamic} super.f = 42 : #t52);
+ self::use(let final dynamic #t44 = super.{self::A::f} in #t44.{core::Object::==}(null) ?{dynamic} super.f = 42 : #t44);
super.g.{core::Object::==}(null) ?{dynamic} super.{self::A::g} = 42 : null;
- self::use(let final dynamic #t53 = super.g in #t53.{core::Object::==}(null) ?{dynamic} super.{self::A::g} = 42 : #t53);
+ self::use(let final dynamic #t45 = super.g in #t45.{core::Object::==}(null) ?{dynamic} super.{self::A::g} = 42 : #t45);
super.{self::A::h}.{core::Object::==}(null) ?{dynamic} super.{self::A::h} = 42 : null;
- self::use(let final dynamic #t54 = super.{self::A::h} in #t54.{core::Object::==}(null) ?{dynamic} super.{self::A::h} = 42 : #t54);
+ self::use(let final dynamic #t46 = super.{self::A::h} in #t46.{core::Object::==}(null) ?{dynamic} super.{self::A::h} = 42 : #t46);
super.{self::A::i}.{core::Object::==}(null) ?{dynamic} super.{self::B::i} = 42 : null;
- self::use(let final dynamic #t55 = super.{self::A::i} in #t55.{core::Object::==}(null) ?{dynamic} super.{self::B::i} = 42 : #t55);
- let final core::int #t56 = 87 in super.{self::A::[]}(#t56).{core::Object::==}(null) ?{dynamic} let final core::int #t57 = 42 in let final void #t58 = super.{self::A::[]=}(#t56, #t57) in #t57 : null;
- self::use(let final core::int #t59 = 87 in let final dynamic #t60 = super.{self::A::[]}(#t59) in #t60.{core::Object::==}(null) ?{dynamic} let final core::int #t61 = 42 in let final void #t62 = super.{self::A::[]=}(#t59, #t61) in #t61 : #t60);
+ self::use(let final dynamic #t47 = super.{self::A::i} in #t47.{core::Object::==}(null) ?{dynamic} super.{self::B::i} = 42 : #t47);
+ let final core::int #t48 = 87 in super.{self::A::[]}(#t48).{core::Object::==}(null) ?{dynamic} let final core::int #t49 = 42 in let final void #t50 = super.{self::A::[]=}(#t48, #t49) in #t49 : null;
+ self::use(let final core::int #t51 = 87 in let final dynamic #t52 = super.{self::A::[]}(#t51) in #t52.{core::Object::==}(null) ?{dynamic} let final core::int #t53 = 42 in let final void #t54 = super.{self::A::[]=}(#t51, #t53) in #t53 : #t52);
super.{self::A::m}.{core::Object::==}(null) ?{core::Object} super.m = 42 : null;
- self::use(let final () → void #t63 = super.{self::A::m} in #t63.{core::Object::==}(null) ?{core::Object} super.m = 42 : #t63);
+ self::use(let final () → void #t55 = super.{self::A::m} in #t55.{core::Object::==}(null) ?{core::Object} super.m = 42 : #t55);
super.{self::A::n}.{core::Object::==}(null) ?{core::Object} super.{self::A::n} = 42 : null;
- self::use(let final () → void #t64 = super.{self::A::n} in #t64.{core::Object::==}(null) ?{core::Object} super.{self::A::n} = 42 : #t64);
+ self::use(let final () → void #t56 = super.{self::A::n} in #t56.{core::Object::==}(null) ?{core::Object} super.{self::A::n} = 42 : #t56);
super.{self::A::a} = super.{self::A::a}.+(42);
self::use(super.{self::A::a} = super.{self::A::a}.+(42));
super.{self::A::b} = super.{self::B::b}.+(42);
@@ -613,21 +613,21 @@
self::use(super.{self::A::h} = super.{self::A::h}.+(42));
super.{self::B::i} = super.{self::A::i}.+(42);
self::use(super.{self::B::i} = super.{self::A::i}.+(42));
- let final core::int #t65 = 87 in super.{self::A::[]=}(#t65, super.{self::A::[]}(#t65).+(42));
- self::use(let final core::int #t66 = 87 in let final dynamic #t67 = super.{self::A::[]}(#t66).+(42) in let final void #t68 = super.{self::A::[]=}(#t66, #t67) in #t67);
- super.m = let final dynamic #t69 = super.{self::A::m} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:222:13: Error: The method '+' isn't defined for the class 'void Function()'.
+ let final core::int #t57 = 87 in super.{self::A::[]=}(#t57, super.{self::A::[]}(#t57).+(42));
+ self::use(let final core::int #t58 = 87 in let final dynamic #t59 = super.{self::A::[]}(#t58).+(42) in let final void #t60 = super.{self::A::[]=}(#t58, #t59) in #t59);
+ super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:222:13: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
super.m += 42;
^";
- self::use(super.m = let final dynamic #t70 = super.{self::A::m} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:223:17: Error: The method '+' isn't defined for the class 'void Function()'.
+ self::use(super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:223:17: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
use(super.m += 42);
^");
- super.{self::A::n} = let final dynamic #t71 = super.{self::A::n} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:224:13: Error: The method '+' isn't defined for the class 'void Function()'.
+ super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:224:13: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
super.n += 42;
^";
- self::use(super.{self::A::n} = let final dynamic #t72 = super.{self::A::n} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:225:17: Error: The method '+' isn't defined for the class 'void Function()'.
+ self::use(super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:225:17: Error: The method '+' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '+'.
use(super.n += 42);
^");
@@ -649,21 +649,21 @@
self::use(super.{self::A::h} = super.{self::A::h}.-(42));
super.{self::B::i} = super.{self::A::i}.-(42);
self::use(super.{self::B::i} = super.{self::A::i}.-(42));
- let final core::int #t73 = 87 in super.{self::A::[]=}(#t73, super.{self::A::[]}(#t73).-(42));
- self::use(let final core::int #t74 = 87 in let final dynamic #t75 = super.{self::A::[]}(#t74).-(42) in let final void #t76 = super.{self::A::[]=}(#t74, #t75) in #t75);
- super.m = let final dynamic #t77 = super.{self::A::m} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:247:13: Error: The method '-' isn't defined for the class 'void Function()'.
+ let final core::int #t61 = 87 in super.{self::A::[]=}(#t61, super.{self::A::[]}(#t61).-(42));
+ self::use(let final core::int #t62 = 87 in let final dynamic #t63 = super.{self::A::[]}(#t62).-(42) in let final void #t64 = super.{self::A::[]=}(#t62, #t63) in #t63);
+ super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:247:13: Error: The method '-' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '-'.
super.m -= 42;
^";
- self::use(super.m = let final dynamic #t78 = super.{self::A::m} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:248:17: Error: The method '-' isn't defined for the class 'void Function()'.
+ self::use(super.m = invalid-expression "pkg/front_end/testcases/rasta/super.dart:248:17: Error: The method '-' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '-'.
use(super.m -= 42);
^");
- super.{self::A::n} = let final dynamic #t79 = super.{self::A::n} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:249:13: Error: The method '-' isn't defined for the class 'void Function()'.
+ super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:249:13: Error: The method '-' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '-'.
super.n -= 42;
^";
- self::use(super.{self::A::n} = let final dynamic #t80 = super.{self::A::n} in invalid-expression "pkg/front_end/testcases/rasta/super.dart:250:17: Error: The method '-' isn't defined for the class 'void Function()'.
+ self::use(super.{self::A::n} = invalid-expression "pkg/front_end/testcases/rasta/super.dart:250:17: Error: The method '-' isn't defined for the class 'void Function()'.
Try correcting the name to the name of an existing method, or defining a method named '-'.
use(super.n -= 42);
^");
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.expect
index 9714888..54fcd03 100644
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.expect
@@ -104,24 +104,24 @@
;
method it1(dynamic x) → dynamic {
for (final dynamic #t1 in x as{TypeError} core::Iterable<dynamic>) {
- let final dynamic #t2 = this in invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:11:10: Error: The setter 'key' isn't defined for the class 'Fisk'.
+ invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:11:10: Error: The setter 'key' isn't defined for the class 'Fisk'.
- 'Fisk' is from 'pkg/front_end/testcases/rasta/unresolved_for_in.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'key'.
for (key in x) {
^^^";
- core::print(let final dynamic #t3 = this in invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:12:13: Error: The getter 'key' isn't defined for the class 'Fisk'.
+ core::print(invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:12:13: Error: The getter 'key' isn't defined for the class 'Fisk'.
- 'Fisk' is from 'pkg/front_end/testcases/rasta/unresolved_for_in.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'key'.
print(key);
^^^");
}
- for (final dynamic #t4 in x as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t2 in x as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:14:10: Error: Setter not found: 'Fisk'.
for (Fisk in x) {
^^^^";
core::print(self::Fisk);
}
- for (final dynamic #t5 in x as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t3 in x as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:17:10: Error: A prefix can't be used as an expression.
for (collection in x) {
^^^^^^^^^^";
@@ -129,7 +129,7 @@
print(collection);
^^^^^^^^^^");
}
- for (final dynamic #t6 in x as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t4 in x as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:20:10: Error: Setter not found: 'VoidFunction'.
for (VoidFunction in x) {
^^^^^^^^^^^^";
@@ -139,12 +139,12 @@
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
for (1 in x) {
^";
- for (final dynamic #t7 in x as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t5 in x as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
for (1 in x) {
^";
1;
- core::print(let final dynamic #t8 = this in invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:24:13: Error: The getter 'key' isn't defined for the class 'Fisk'.
+ core::print(invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:24:13: Error: The getter 'key' isn't defined for the class 'Fisk'.
- 'Fisk' is from 'pkg/front_end/testcases/rasta/unresolved_for_in.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'key'.
print(key);
@@ -155,7 +155,7 @@
}
static method main(dynamic arguments) → dynamic {
new self::Fisk::•();
- for (final dynamic #t9 in arguments as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t6 in arguments as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:31:8: Error: Setter not found: 'key'.
for (key in arguments) {
^^^";
@@ -163,13 +163,13 @@
print(key);
^^^");
}
- for (final dynamic #t10 in arguments as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t7 in arguments as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:34:8: Error: Setter not found: 'Fisk'.
for (Fisk in arguments) {
^^^^";
core::print(self::Fisk);
}
- for (final dynamic #t11 in arguments as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t8 in arguments as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:37:8: Error: A prefix can't be used as an expression.
for (collection in arguments) {
^^^^^^^^^^";
@@ -177,7 +177,7 @@
print(collection);
^^^^^^^^^^");
}
- for (final dynamic #t12 in arguments as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t9 in arguments as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:40:8: Error: Setter not found: 'VoidFunction'.
for (VoidFunction in arguments) {
^^^^^^^^^^^^";
@@ -187,7 +187,7 @@
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
for (1 in arguments) {
^";
- for (final dynamic #t13 in arguments as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t10 in arguments as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
for (1 in arguments) {
^";
diff --git a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.transformed.expect b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.transformed.expect
index 47f060b..54fcd03 100644
--- a/pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/rasta/unresolved_for_in.dart.strong.transformed.expect
@@ -104,24 +104,24 @@
;
method it1(dynamic x) → dynamic {
for (final dynamic #t1 in x as{TypeError} core::Iterable<dynamic>) {
- let final self::Fisk #t2 = this in invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:11:10: Error: The setter 'key' isn't defined for the class 'Fisk'.
+ invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:11:10: Error: The setter 'key' isn't defined for the class 'Fisk'.
- 'Fisk' is from 'pkg/front_end/testcases/rasta/unresolved_for_in.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'key'.
for (key in x) {
^^^";
- core::print(let final self::Fisk #t3 = this in invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:12:13: Error: The getter 'key' isn't defined for the class 'Fisk'.
+ core::print(invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:12:13: Error: The getter 'key' isn't defined for the class 'Fisk'.
- 'Fisk' is from 'pkg/front_end/testcases/rasta/unresolved_for_in.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'key'.
print(key);
^^^");
}
- for (final dynamic #t4 in x as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t2 in x as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:14:10: Error: Setter not found: 'Fisk'.
for (Fisk in x) {
^^^^";
core::print(self::Fisk);
}
- for (final dynamic #t5 in x as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t3 in x as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:17:10: Error: A prefix can't be used as an expression.
for (collection in x) {
^^^^^^^^^^";
@@ -129,7 +129,7 @@
print(collection);
^^^^^^^^^^");
}
- for (final dynamic #t6 in x as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t4 in x as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:20:10: Error: Setter not found: 'VoidFunction'.
for (VoidFunction in x) {
^^^^^^^^^^^^";
@@ -139,12 +139,12 @@
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
for (1 in x) {
^";
- for (final dynamic #t7 in x as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t5 in x as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:23:10: Error: Can't assign to this, so it can't be used in a for-in loop.
for (1 in x) {
^";
1;
- core::print(let final self::Fisk #t8 = this in invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:24:13: Error: The getter 'key' isn't defined for the class 'Fisk'.
+ core::print(invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:24:13: Error: The getter 'key' isn't defined for the class 'Fisk'.
- 'Fisk' is from 'pkg/front_end/testcases/rasta/unresolved_for_in.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'key'.
print(key);
@@ -155,7 +155,7 @@
}
static method main(dynamic arguments) → dynamic {
new self::Fisk::•();
- for (final dynamic #t9 in arguments as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t6 in arguments as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:31:8: Error: Setter not found: 'key'.
for (key in arguments) {
^^^";
@@ -163,13 +163,13 @@
print(key);
^^^");
}
- for (final dynamic #t10 in arguments as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t7 in arguments as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:34:8: Error: Setter not found: 'Fisk'.
for (Fisk in arguments) {
^^^^";
core::print(self::Fisk);
}
- for (final dynamic #t11 in arguments as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t8 in arguments as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:37:8: Error: A prefix can't be used as an expression.
for (collection in arguments) {
^^^^^^^^^^";
@@ -177,7 +177,7 @@
print(collection);
^^^^^^^^^^");
}
- for (final dynamic #t12 in arguments as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t9 in arguments as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:40:8: Error: Setter not found: 'VoidFunction'.
for (VoidFunction in arguments) {
^^^^^^^^^^^^";
@@ -187,7 +187,7 @@
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
for (1 in arguments) {
^";
- for (final dynamic #t13 in arguments as{TypeError} core::Iterable<dynamic>) {
+ for (final dynamic #t10 in arguments as{TypeError} core::Iterable<dynamic>) {
invalid-expression "pkg/front_end/testcases/rasta/unresolved_for_in.dart:43:8: Error: Can't assign to this, so it can't be used in a for-in loop.
for (1 in arguments) {
^";
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31155.dart.strong.expect
index 2cfb471..f9e661a 100644
--- a/pkg/front_end/testcases/regress/issue_31155.dart.strong.expect
+++ b/pkg/front_end/testcases/regress/issue_31155.dart.strong.expect
@@ -44,7 +44,7 @@
;
}
class C extends core::Object {
- field dynamic f = let final dynamic #t1 = core::Map<dynamic, dynamic> in invalid-expression "pkg/front_end/testcases/regress/issue_31155.dart:11:14: Error: The method '<' isn't defined for the class 'Type'.
+ field dynamic f = invalid-expression "pkg/front_end/testcases/regress/issue_31155.dart:11:14: Error: The method '<' isn't defined for the class 'Type'.
- 'Type' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named '<'.
var f = Map<A, B> {};
diff --git a/pkg/front_end/testcases/regress/issue_31155.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31155.dart.strong.transformed.expect
index ccabee8..f9e661a 100644
--- a/pkg/front_end/testcases/regress/issue_31155.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31155.dart.strong.transformed.expect
@@ -44,7 +44,7 @@
;
}
class C extends core::Object {
- field dynamic f = let final core::Type #t1 = core::Map<dynamic, dynamic> in invalid-expression "pkg/front_end/testcases/regress/issue_31155.dart:11:14: Error: The method '<' isn't defined for the class 'Type'.
+ field dynamic f = invalid-expression "pkg/front_end/testcases/regress/issue_31155.dart:11:14: Error: The method '<' isn't defined for the class 'Type'.
- 'Type' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named '<'.
var f = Map<A, B> {};
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.strong.expect b/pkg/front_end/testcases/regress/issue_31188.dart.strong.expect
index 4a0c403..104418a 100644
--- a/pkg/front_end/testcases/regress/issue_31188.dart.strong.expect
+++ b/pkg/front_end/testcases/regress/issue_31188.dart.strong.expect
@@ -29,9 +29,8 @@
// ^^^^
//
import self as self;
-import "dart:core" as core;
-static field invalid-type T = let final dynamic #t1 = core::Map<dynamic, dynamic> in invalid-expression "pkg/front_end/testcases/regress/issue_31188.dart:7:13: Error: The method '<' isn't defined for the class 'Type'.
+static field invalid-type T = invalid-expression "pkg/front_end/testcases/regress/issue_31188.dart:7:13: Error: The method '<' isn't defined for the class 'Type'.
- 'Type' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named '<'.
type T = Map<A, B>
diff --git a/pkg/front_end/testcases/regress/issue_31188.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_31188.dart.strong.transformed.expect
index 1605b31..104418a 100644
--- a/pkg/front_end/testcases/regress/issue_31188.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_31188.dart.strong.transformed.expect
@@ -29,9 +29,8 @@
// ^^^^
//
import self as self;
-import "dart:core" as core;
-static field invalid-type T = let final core::Type #t1 = core::Map<dynamic, dynamic> in invalid-expression "pkg/front_end/testcases/regress/issue_31188.dart:7:13: Error: The method '<' isn't defined for the class 'Type'.
+static field invalid-type T = invalid-expression "pkg/front_end/testcases/regress/issue_31188.dart:7:13: Error: The method '<' isn't defined for the class 'Type'.
- 'Type' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named '<'.
type T = Map<A, B>
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.strong.expect b/pkg/front_end/testcases/regress/issue_34225.dart.strong.expect
index bdf0818..413e604 100644
--- a/pkg/front_end/testcases/regress/issue_34225.dart.strong.expect
+++ b/pkg/front_end/testcases/regress/issue_34225.dart.strong.expect
@@ -33,7 +33,7 @@
}
static method main() → dynamic {
self::C c = new self::C::•();
- let final dynamic #t1 = c in invalid-expression "pkg/front_end/testcases/regress/issue_34225.dart:15:5: Error: The setter 'C' isn't defined for the class 'C'.
+ invalid-expression "pkg/front_end/testcases/regress/issue_34225.dart:15:5: Error: The setter 'C' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/regress/issue_34225.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'C'.
c.C = 5;
diff --git a/pkg/front_end/testcases/regress/issue_34225.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_34225.dart.strong.transformed.expect
index ef40260..413e604 100644
--- a/pkg/front_end/testcases/regress/issue_34225.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34225.dart.strong.transformed.expect
@@ -33,7 +33,7 @@
}
static method main() → dynamic {
self::C c = new self::C::•();
- let final self::C #t1 = c in invalid-expression "pkg/front_end/testcases/regress/issue_34225.dart:15:5: Error: The setter 'C' isn't defined for the class 'C'.
+ invalid-expression "pkg/front_end/testcases/regress/issue_34225.dart:15:5: Error: The setter 'C' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/regress/issue_34225.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'C'.
c.C = 5;
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.strong.expect b/pkg/front_end/testcases/regress/issue_34563.dart.strong.expect
index 9bfa9d9..a1ba851 100644
--- a/pkg/front_end/testcases/regress/issue_34563.dart.strong.expect
+++ b/pkg/front_end/testcases/regress/issue_34563.dart.strong.expect
@@ -72,21 +72,21 @@
}
static method main() → dynamic {
self::C2 c2 = new self::C2::•();
- (let final dynamic #t1 = c2 in invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:6: Error: The getter 'm' isn't defined for the class 'C2'.
+ invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:6: Error: The getter 'm' isn't defined for the class 'C2'.
- 'C2' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
c2.m + c2.c;
- ^").+(let final dynamic #t2 = c2 in invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:13: Error: The getter 'c' isn't defined for the class 'C2'.
+ ^".+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:13: Error: The getter 'c' isn't defined for the class 'C2'.
- 'C2' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'c'.
c2.m + c2.c;
^");
self::C3 c3 = new self::C3::•();
- (let final dynamic #t3 = c3 in invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:6: Error: The getter 'm' isn't defined for the class 'C3'.
+ invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:6: Error: The getter 'm' isn't defined for the class 'C3'.
- 'C3' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
c3.m + c3.c;
- ^").+(let final dynamic #t4 = c3 in invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:13: Error: The getter 'c' isn't defined for the class 'C3'.
+ ^".+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:13: Error: The getter 'c' isn't defined for the class 'C3'.
- 'C3' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'c'.
c3.m + c3.c;
diff --git a/pkg/front_end/testcases/regress/issue_34563.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_34563.dart.strong.transformed.expect
index 941e480..a1ba851 100644
--- a/pkg/front_end/testcases/regress/issue_34563.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/regress/issue_34563.dart.strong.transformed.expect
@@ -72,21 +72,21 @@
}
static method main() → dynamic {
self::C2 c2 = new self::C2::•();
- (let final self::C2 #t1 = c2 in invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:6: Error: The getter 'm' isn't defined for the class 'C2'.
+ invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:6: Error: The getter 'm' isn't defined for the class 'C2'.
- 'C2' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
c2.m + c2.c;
- ^").+(let final self::C2 #t2 = c2 in invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:13: Error: The getter 'c' isn't defined for the class 'C2'.
+ ^".+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:23:13: Error: The getter 'c' isn't defined for the class 'C2'.
- 'C2' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'c'.
c2.m + c2.c;
^");
self::C3 c3 = new self::C3::•();
- (let final self::C3 #t3 = c3 in invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:6: Error: The getter 'm' isn't defined for the class 'C3'.
+ invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:6: Error: The getter 'm' isn't defined for the class 'C3'.
- 'C3' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'm'.
c3.m + c3.c;
- ^").+(let final self::C3 #t4 = c3 in invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:13: Error: The getter 'c' isn't defined for the class 'C3'.
+ ^".+(invalid-expression "pkg/front_end/testcases/regress/issue_34563.dart:25:13: Error: The getter 'c' isn't defined for the class 'C3'.
- 'C3' is from 'pkg/front_end/testcases/regress/issue_34563.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'c'.
c3.m + c3.c;
diff --git a/pkg/front_end/testcases/strong.status b/pkg/front_end/testcases/strong.status
index 94d8017..165a679 100644
--- a/pkg/front_end/testcases/strong.status
+++ b/pkg/front_end/testcases/strong.status
@@ -24,7 +24,6 @@
expressions: RuntimeError
external_import: RuntimeError # The native extension to import doesn't exist. This is ok.
fallthrough: ExpectationFileMismatch
-for_in_without_declaration: TypeCheckError
incomplete_field_formal_parameter: RuntimeError
inference/abstract_class_instantiation: InstrumentationMismatch # Issue #30040
inference/conflicts_can_happen: TypeCheckError
@@ -73,7 +72,6 @@
invalid_type: TypeCheckError
invocations: RuntimeError
issue34899: TypeCheckError
-many_errors: VerificationError
micro: RuntimeError
mixin_application_override: TypeCheckError
optional: TypeCheckError
diff --git a/pkg/front_end/testcases/text_serialization.status b/pkg/front_end/testcases/text_serialization.status
index bb6e23a..96218e4 100644
--- a/pkg/front_end/testcases/text_serialization.status
+++ b/pkg/front_end/testcases/text_serialization.status
@@ -92,7 +92,7 @@
fallthrough: ExpectationFileMismatch
fibonacci: TextSerializationFailure # Was: Pass
for_in_scope: TextSerializationFailure # Was: Pass
-for_in_without_declaration: TypeCheckError
+for_in_without_declaration: TextSerializationFailure
function_in_field: TextSerializationFailure # Was: Pass
functions: TextSerializationFailure # Was: Pass
function_type_assignments: TextSerializationFailure # Was: Pass
@@ -669,7 +669,7 @@
literals: TextSerializationFailure # Was: Pass
local_generic_function: TextSerializationFailure # Was: Pass
magic_const: TextSerializationFailure # Was: Pass
-many_errors: VerificationError
+many_errors: TextSerializationFailure
map: TextSerializationFailure # Was: Pass
metadata_enum: TextSerializationFailure # Was: Pass
metadata_named_mixin_application: TextSerializationFailure # Was: Pass
@@ -850,7 +850,6 @@
regress/issue_31183: TextSerializationFailure # Was: Pass
regress/issue_31184: TextSerializationFailure # Was: Pass
regress/issue_31185: TextSerializationFailure # Was: Pass
-regress/issue_31188: TextSerializationFailure # Was: Pass
regress/issue_31190: TextSerializationFailure # Was: Pass
regress/issue_31192: TextSerializationFailure # Was: Pass
regress/issue_31198: TextSerializationFailure # Was: Pass
diff --git a/pkg/front_end/testcases/undefined.dart.strong.expect b/pkg/front_end/testcases/undefined.dart.strong.expect
index 3e4911c..acd6f2d 100644
--- a/pkg/front_end/testcases/undefined.dart.strong.expect
+++ b/pkg/front_end/testcases/undefined.dart.strong.expect
@@ -32,19 +32,19 @@
}
static method test(self::C c) → void {
c.{self::C::x};
- let final dynamic #t1 = c in invalid-expression "pkg/front_end/testcases/undefined.dart:14:33: Error: The getter 'y' isn't defined for the class 'C'.
+ invalid-expression "pkg/front_end/testcases/undefined.dart:14:33: Error: The getter 'y' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/undefined.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'y'.
c. /*@error=UndefinedGetter*/ y;
^";
c.{self::C::f}();
- let final dynamic #t2 = c in invalid-expression "pkg/front_end/testcases/undefined.dart:16:33: Error: The method 'g' isn't defined for the class 'C'.
+ invalid-expression "pkg/front_end/testcases/undefined.dart:16:33: Error: The method 'g' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/undefined.dart'.
Try correcting the name to the name of an existing method, or defining a method named 'g'.
c. /*@error=UndefinedMethod*/ g();
^";
c.{self::C::x} = null;
- let final dynamic #t3 = c in invalid-expression "pkg/front_end/testcases/undefined.dart:18:33: Error: The setter 'y' isn't defined for the class 'C'.
+ invalid-expression "pkg/front_end/testcases/undefined.dart:18:33: Error: The setter 'y' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/undefined.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'y'.
c. /*@error=UndefinedSetter*/ y = null;
diff --git a/pkg/front_end/testcases/undefined.dart.strong.transformed.expect b/pkg/front_end/testcases/undefined.dart.strong.transformed.expect
index c6a122c..acd6f2d 100644
--- a/pkg/front_end/testcases/undefined.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/undefined.dart.strong.transformed.expect
@@ -32,19 +32,19 @@
}
static method test(self::C c) → void {
c.{self::C::x};
- let final self::C #t1 = c in invalid-expression "pkg/front_end/testcases/undefined.dart:14:33: Error: The getter 'y' isn't defined for the class 'C'.
+ invalid-expression "pkg/front_end/testcases/undefined.dart:14:33: Error: The getter 'y' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/undefined.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'y'.
c. /*@error=UndefinedGetter*/ y;
^";
c.{self::C::f}();
- let final self::C #t2 = c in invalid-expression "pkg/front_end/testcases/undefined.dart:16:33: Error: The method 'g' isn't defined for the class 'C'.
+ invalid-expression "pkg/front_end/testcases/undefined.dart:16:33: Error: The method 'g' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/undefined.dart'.
Try correcting the name to the name of an existing method, or defining a method named 'g'.
c. /*@error=UndefinedMethod*/ g();
^";
c.{self::C::x} = null;
- let final self::C #t3 = c in invalid-expression "pkg/front_end/testcases/undefined.dart:18:33: Error: The setter 'y' isn't defined for the class 'C'.
+ invalid-expression "pkg/front_end/testcases/undefined.dart:18:33: Error: The setter 'y' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/undefined.dart'.
Try correcting the name to the name of an existing setter, or defining a setter or field named 'y'.
c. /*@error=UndefinedSetter*/ y = null;
diff --git a/pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart.strong.expect b/pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart.strong.expect
index d348c34..a86da13 100644
--- a/pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart.strong.expect
+++ b/pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart.strong.expect
@@ -25,15 +25,15 @@
}
static method test(self::C c) → void {
c.{self::C::x} = 1;
- let final self::C #t1 = c in #t1.{self::C::x} = (let final dynamic #t2 = #t1 in invalid-expression "pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart:13:33: Error: The getter 'x' isn't defined for the class 'C'.
+ let final self::C #t1 = c in #t1.{self::C::x} = invalid-expression "pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart:13:33: Error: The getter 'x' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
c. /*@error=UndefinedGetter*/ x += 1;
- ^").+(1);
- let final self::C #t3 = c in (let final dynamic #t4 = #t3 in invalid-expression "pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart:14:33: Error: The getter 'x' isn't defined for the class 'C'.
+ ^".+(1);
+ let final self::C #t2 = c in invalid-expression "pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart:14:33: Error: The getter 'x' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
c. /*@error=UndefinedGetter*/ x ??= 1;
- ^").{core::Object::==}(null) ?{dynamic} #t3.{self::C::x} = 1 : null;
+ ^".{core::Object::==}(null) ?{dynamic} #t2.{self::C::x} = 1 : null;
}
static method main() → dynamic {}
diff --git a/pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart.strong.transformed.expect b/pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart.strong.transformed.expect
index 5b31b46..a86da13 100644
--- a/pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart.strong.transformed.expect
+++ b/pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart.strong.transformed.expect
@@ -25,15 +25,15 @@
}
static method test(self::C c) → void {
c.{self::C::x} = 1;
- let final self::C #t1 = c in #t1.{self::C::x} = (let final self::C #t2 = #t1 in invalid-expression "pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart:13:33: Error: The getter 'x' isn't defined for the class 'C'.
+ let final self::C #t1 = c in #t1.{self::C::x} = invalid-expression "pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart:13:33: Error: The getter 'x' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
c. /*@error=UndefinedGetter*/ x += 1;
- ^").+(1);
- let final self::C #t3 = c in (let final self::C #t4 = #t3 in invalid-expression "pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart:14:33: Error: The getter 'x' isn't defined for the class 'C'.
+ ^".+(1);
+ let final self::C #t2 = c in invalid-expression "pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart:14:33: Error: The getter 'x' isn't defined for the class 'C'.
- 'C' is from 'pkg/front_end/testcases/undefined_getter_in_compound_assignment.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'x'.
c. /*@error=UndefinedGetter*/ x ??= 1;
- ^").{core::Object::==}(null) ?{dynamic} #t3.{self::C::x} = 1 : null;
+ ^".{core::Object::==}(null) ?{dynamic} #t2.{self::C::x} = 1 : null;
}
static method main() → dynamic {}