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

Unified Diff: pkg/kernel/lib/frontend/accessors.dart

Issue 2610133002: Non-format-changing kernel offset changes (Closed)
Patch Set: End offset doesn't appear to be needed on AwaitExpression (anymore) Created 3 years, 11 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/kernel/lib/frontend/accessors.dart
diff --git a/pkg/kernel/lib/frontend/accessors.dart b/pkg/kernel/lib/frontend/accessors.dart
index 17355b063d6deeead9524712ea2404aeee592bab..ec010c659b166990cbe8fc12b4419fcd2f54a655 100644
--- a/pkg/kernel/lib/frontend/accessors.dart
+++ b/pkg/kernel/lib/frontend/accessors.dart
@@ -41,31 +41,32 @@ abstract class Accessor {
_makeWrite(value, voidContext), new VariableGet(tmp), type)));
}
- Expression buildCompoundAssignment(Name binaryOperator, Expression value,
+ Expression buildCompoundAssignment(
+ Name binaryOperator, Expression value, int offset,
{bool voidContext: false, Procedure interfaceTarget}) {
return _finish(_makeWrite(
- builtBinary =
- makeBinary(_makeRead(), binaryOperator, interfaceTarget, value),
+ builtBinary = makeBinary(
+ _makeRead(), binaryOperator, interfaceTarget, value, offset),
voidContext));
}
- Expression buildPrefixIncrement(Name binaryOperator,
+ Expression buildPrefixIncrement(Name binaryOperator, int offset,
{bool voidContext: false, Procedure interfaceTarget}) {
- return buildCompoundAssignment(binaryOperator, new IntLiteral(1),
+ return buildCompoundAssignment(binaryOperator, new IntLiteral(1), offset,
voidContext: voidContext, interfaceTarget: interfaceTarget);
}
- Expression buildPostfixIncrement(Name binaryOperator,
+ Expression buildPostfixIncrement(Name binaryOperator, int offset,
{bool voidContext: false, Procedure interfaceTarget}) {
if (voidContext) {
- return buildPrefixIncrement(binaryOperator,
+ return buildPrefixIncrement(binaryOperator, offset,
voidContext: true, interfaceTarget: interfaceTarget);
}
var value = new VariableDeclaration.forValue(_makeRead());
valueAccess() => new VariableGet(value);
var dummy = new VariableDeclaration.forValue(_makeWrite(
- builtBinary = makeBinary(
- valueAccess(), binaryOperator, interfaceTarget, new IntLiteral(1)),
+ builtBinary = makeBinary(valueAccess(), binaryOperator, interfaceTarget,
+ new IntLiteral(1), offset),
true));
return _finish(makeLet(value, makeLet(dummy, valueAccess())));
}
@@ -401,15 +402,16 @@ Expression makeLet(VariableDeclaration variable, Expression body) {
}
Expression makeBinary(Expression left, Name operator, Procedure interfaceTarget,
- Expression right) {
+ Expression right, int offset) {
return new MethodInvocation(
- left, operator, new Arguments(<Expression>[right]), interfaceTarget);
+ left, operator, new Arguments(<Expression>[right]), interfaceTarget)
+ ..fileOffset = offset;
}
final Name _equalOperator = new Name('==');
-Expression buildIsNull(Expression value) {
- return makeBinary(value, _equalOperator, null, new NullLiteral());
+Expression buildIsNull(Expression value, {int offset: TreeNode.noOffset}) {
+ return makeBinary(value, _equalOperator, null, new NullLiteral(), offset);
}
VariableDeclaration makeOrReuseVariable(Expression value) {

Powered by Google App Engine
This is Rietveld 408576698