| Index: pkg/front_end/lib/src/fasta/kernel/builder_accessors.dart
|
| diff --git a/pkg/front_end/lib/src/fasta/kernel/builder_accessors.dart b/pkg/front_end/lib/src/fasta/kernel/builder_accessors.dart
|
| index e79aff2c89af444dbe818248c45a9ee2690e85fe..f21b661abbb93386eb72b438f9227db6eebf58fc 100644
|
| --- a/pkg/front_end/lib/src/fasta/kernel/builder_accessors.dart
|
| +++ b/pkg/front_end/lib/src/fasta/kernel/builder_accessors.dart
|
| @@ -250,27 +250,33 @@ class ThisAccessor extends BuilderAccessor {
|
| }
|
|
|
| Expression buildAssignment(Expression value, {bool voidContext: false}) {
|
| - return internalError("");
|
| + return buildAssignmentError();
|
| }
|
|
|
| Expression buildNullAwareAssignment(Expression value, DartType type,
|
| {bool voidContext: false}) {
|
| - return internalError("");
|
| + return buildAssignmentError();
|
| }
|
|
|
| Expression buildCompoundAssignment(Name binaryOperator, Expression value,
|
| {bool voidContext: false, Procedure interfaceTarget}) {
|
| - return internalError("");
|
| + return buildAssignmentError();
|
| }
|
|
|
| Expression buildPrefixIncrement(Name binaryOperator,
|
| {bool voidContext: false, Procedure interfaceTarget}) {
|
| - return internalError("");
|
| + return buildAssignmentError();
|
| }
|
|
|
| Expression buildPostfixIncrement(Name binaryOperator,
|
| {bool voidContext: false, Procedure interfaceTarget}) {
|
| - return internalError("");
|
| + return buildAssignmentError();
|
| + }
|
| +
|
| + Expression buildAssignmentError() {
|
| + String message =
|
| + isSuper ? "Can't assign to 'super'." : "Can't assign to 'this'.";
|
| + return helper.buildCompileTimeError(message, charOffset);
|
| }
|
|
|
| toString() => "ThisAccessor($charOffset${isSuper ? ', super' : ''})";
|
| @@ -364,12 +370,12 @@ class SendAccessor extends IncompleteSend {
|
|
|
| Expression buildNullAwareAssignment(Expression value, DartType type,
|
| {bool voidContext: false}) {
|
| - return internalError("");
|
| + return internalError("Unhandled");
|
| }
|
|
|
| Expression buildCompoundAssignment(Name binaryOperator, Expression value,
|
| {bool voidContext: false, Procedure interfaceTarget}) {
|
| - return internalError("");
|
| + return internalError("Unhandled");
|
| }
|
|
|
| Expression buildPrefixIncrement(Name binaryOperator,
|
|
|