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

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

Issue 2756443004: Share operator names (Closed)
Patch Set: Share operator names 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/frontend_accessors.dart
diff --git a/pkg/front_end/lib/src/fasta/kernel/frontend_accessors.dart b/pkg/front_end/lib/src/fasta/kernel/frontend_accessors.dart
index 71f99b8e7045b57c2e0d201938c2f135fab32831..61aa7919fa3648ffe5aa8d317194bba51512a04b 100644
--- a/pkg/front_end/lib/src/fasta/kernel/frontend_accessors.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/frontend_accessors.dart
@@ -10,6 +10,8 @@ library kernel.frontend.accessors;
import 'package:kernel/ast.dart';
+import '../names.dart' show indexGetName, indexSetName;
+
/// An [Accessor] represents a subexpression for which we can't yet build a
/// kernel [Expression] because we don't yet know the context in which it is
/// used.
@@ -248,9 +250,6 @@ class SuperPropertyAccessor extends Accessor {
}
}
-final Name _indexGet = new Name('[]');
-final Name _indexSet = new Name('[]=');
-
class IndexAccessor extends Accessor {
Expression receiver;
Expression index;
@@ -273,14 +272,16 @@ class IndexAccessor extends Accessor {
this.receiver, this.index, this.getter, this.setter, this.charOffset);
_makeSimpleRead() => new MethodInvocation(
- receiver, _indexGet, new Arguments(<Expression>[index]), getter)
+ receiver, indexGetName, new Arguments(<Expression>[index]), getter)
..fileOffset = charOffset;
_makeSimpleWrite(Expression value, bool voidContext) {
if (!voidContext) return _makeWriteAndReturn(value);
return new MethodInvocation(
- receiver, _indexSet, new Arguments(<Expression>[index, value]), setter)
- ..fileOffset = charOffset;
+ receiver,
+ indexSetName,
+ new Arguments(<Expression>[index, value]),
+ setter)..fileOffset = charOffset;
}
receiverAccess() {
@@ -298,7 +299,7 @@ class IndexAccessor extends Accessor {
_makeRead() {
return new MethodInvocation(
receiverAccess(),
- _indexGet,
+ indexGetName,
new Arguments(<Expression>[indexAccess()]),
getter)..fileOffset = charOffset;
}
@@ -307,7 +308,7 @@ class IndexAccessor extends Accessor {
if (!voidContext) return _makeWriteAndReturn(value);
return new MethodInvocation(
receiverAccess(),
- _indexSet,
+ indexSetName,
new Arguments(<Expression>[indexAccess(), value]),
setter)..fileOffset = charOffset;
}
@@ -318,7 +319,7 @@ class IndexAccessor extends Accessor {
var valueVariable = new VariableDeclaration.forValue(value);
var dummy = new VariableDeclaration.forValue(new MethodInvocation(
receiverAccess(),
- _indexSet,
+ indexSetName,
new Arguments(
<Expression>[indexAccess(), new VariableGet(valueVariable)]),
setter)..fileOffset = charOffset);
@@ -341,13 +342,13 @@ class ThisIndexAccessor extends Accessor {
ThisIndexAccessor(this.index, this.getter, this.setter);
_makeSimpleRead() {
- return new MethodInvocation(new ThisExpression(), _indexGet,
+ return new MethodInvocation(new ThisExpression(), indexGetName,
new Arguments(<Expression>[index]), getter);
}
_makeSimpleWrite(Expression value, bool voidContext) {
if (!voidContext) return _makeWriteAndReturn(value);
- return new MethodInvocation(new ThisExpression(), _indexSet,
+ return new MethodInvocation(new ThisExpression(), indexSetName,
new Arguments(<Expression>[index, value]), setter);
}
@@ -356,12 +357,12 @@ class ThisIndexAccessor extends Accessor {
return new VariableGet(indexVariable);
}
- _makeRead() => new MethodInvocation(new ThisExpression(), _indexGet,
+ _makeRead() => new MethodInvocation(new ThisExpression(), indexGetName,
new Arguments(<Expression>[indexAccess()]), getter);
_makeWrite(Expression value, bool voidContext) {
if (!voidContext) return _makeWriteAndReturn(value);
- return new MethodInvocation(new ThisExpression(), _indexSet,
+ return new MethodInvocation(new ThisExpression(), indexSetName,
new Arguments(<Expression>[indexAccess(), value]), setter);
}
@@ -369,7 +370,7 @@ class ThisIndexAccessor extends Accessor {
var valueVariable = new VariableDeclaration.forValue(value);
var dummy = new VariableDeclaration.forValue(new MethodInvocation(
new ThisExpression(),
- _indexSet,
+ indexSetName,
new Arguments(
<Expression>[indexAccess(), new VariableGet(valueVariable)]),
setter));
@@ -393,29 +394,29 @@ class SuperIndexAccessor extends Accessor {
}
_makeSimpleRead() => new SuperMethodInvocation(
- _indexGet, new Arguments(<Expression>[index]), getter);
+ indexGetName, new Arguments(<Expression>[index]), getter);
_makeSimpleWrite(Expression value, bool voidContext) {
if (!voidContext) return _makeWriteAndReturn(value);
return new SuperMethodInvocation(
- _indexSet, new Arguments(<Expression>[index, value]), setter);
+ indexSetName, new Arguments(<Expression>[index, value]), setter);
}
_makeRead() {
return new SuperMethodInvocation(
- _indexGet, new Arguments(<Expression>[indexAccess()]), getter);
+ indexGetName, new Arguments(<Expression>[indexAccess()]), getter);
}
_makeWrite(Expression value, bool voidContext) {
if (!voidContext) return _makeWriteAndReturn(value);
- return new SuperMethodInvocation(
- _indexSet, new Arguments(<Expression>[indexAccess(), value]), setter);
+ return new SuperMethodInvocation(indexSetName,
+ new Arguments(<Expression>[indexAccess(), value]), setter);
}
_makeWriteAndReturn(Expression value) {
var valueVariable = new VariableDeclaration.forValue(value);
var dummy = new VariableDeclaration.forValue(new SuperMethodInvocation(
- _indexSet,
+ indexSetName,
new Arguments(
<Expression>[indexAccess(), new VariableGet(valueVariable)]),
setter));
« no previous file with comments | « pkg/front_end/lib/src/fasta/kernel/builder_accessors.dart ('k') | pkg/front_end/lib/src/fasta/kernel/kernel_enum_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698