Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(923)

Unified Diff: pkg/front_end/lib/src/fasta/kernel/builder_accessors.dart

Issue 2743633003: [fasta] Add and correct more offsets (Closed)
Patch Set: variable.name might be null Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 20c26cf9e9151c473b396b1047c4c007fbf442b1..fbea087c25002575bc7619757682f6d877ce6aa1 100644
--- a/pkg/front_end/lib/src/fasta/kernel/builder_accessors.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/builder_accessors.dart
@@ -142,17 +142,18 @@ abstract class CompileTimeErrorAccessor implements Accessor {
return buildError();
}
- Expression buildCompoundAssignment(Name binaryOperator, Expression value,
+ Expression buildCompoundAssignment(
+ Name binaryOperator, Expression value, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return buildError();
}
- Expression buildPrefixIncrement(Name binaryOperator,
+ Expression buildPrefixIncrement(Name binaryOperator, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return buildError();
}
- Expression buildPostfixIncrement(Name binaryOperator,
+ Expression buildPostfixIncrement(Name binaryOperator, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return buildError();
}
@@ -258,17 +259,18 @@ class ThisAccessor extends BuilderAccessor {
return internalError("");
}
- Expression buildCompoundAssignment(Name binaryOperator, Expression value,
+ Expression buildCompoundAssignment(
+ Name binaryOperator, Expression value, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return internalError("");
}
- Expression buildPrefixIncrement(Name binaryOperator,
+ Expression buildPrefixIncrement(Name binaryOperator, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return internalError("");
}
- Expression buildPostfixIncrement(Name binaryOperator,
+ Expression buildPostfixIncrement(Name binaryOperator, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return internalError("");
}
@@ -367,17 +369,18 @@ class SendAccessor extends IncompleteSend {
return internalError("");
}
- Expression buildCompoundAssignment(Name binaryOperator, Expression value,
+ Expression buildCompoundAssignment(
+ Name binaryOperator, Expression value, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return internalError("");
}
- Expression buildPrefixIncrement(Name binaryOperator,
+ Expression buildPrefixIncrement(Name binaryOperator, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return internalError("Unhandled");
}
- Expression buildPostfixIncrement(Name binaryOperator,
+ Expression buildPostfixIncrement(Name binaryOperator, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return internalError("Unhandled");
}
@@ -458,17 +461,18 @@ class IncompletePropertyAccessor extends IncompleteSend {
return internalError("Unhandled");
}
- Expression buildCompoundAssignment(Name binaryOperator, Expression value,
+ Expression buildCompoundAssignment(
+ Name binaryOperator, Expression value, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return internalError("Unhandled");
}
- Expression buildPrefixIncrement(Name binaryOperator,
+ Expression buildPrefixIncrement(Name binaryOperator, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return internalError("Unhandled");
}
- Expression buildPostfixIncrement(Name binaryOperator,
+ Expression buildPostfixIncrement(Name binaryOperator, int charOffset,
{bool voidContext: false, Procedure interfaceTarget}) {
return internalError("Unhandled");
}
@@ -483,11 +487,9 @@ class IncompletePropertyAccessor extends IncompleteSend {
class IndexAccessor extends kernel.IndexAccessor with BuilderAccessor {
final BuilderHelper helper;
- final int charOffset;
-
- IndexAccessor.internal(this.helper, this.charOffset, Expression receiver,
+ IndexAccessor.internal(this.helper, int charOffset, Expression receiver,
Expression index, Procedure getter, Procedure setter)
- : super.internal(receiver, index, getter, setter);
+ : super.internal(receiver, index, getter, setter, charOffset);
String get plainNameForRead => "[]";
@@ -704,8 +706,10 @@ class VariableAccessor extends kernel.VariableAccessor with BuilderAccessor {
String get plainNameForRead => variable.name;
Expression doInvocation(int charOffset, Arguments arguments) {
- return buildMethodInvocation(
- buildSimpleRead(), new Name("call"), arguments, charOffset);
+ // Normally the offset is at the start of the token, but in this case,
+ // because we insert a '.call', we want it at the end instead.
+ return buildMethodInvocation(buildSimpleRead(), new Name("call"), arguments,
+ charOffset + (variable.name?.length ?? 0));
}
toString() => "VariableAccessor()";
« no previous file with comments | « pkg/front_end/lib/src/fasta/kernel/body_builder.dart ('k') | pkg/front_end/lib/src/fasta/kernel/frontend_accessors.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698