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

Unified Diff: pkg/compiler/lib/src/constants/expressions.dart

Issue 763993002: Extract BuilderContext from ASTEmitter (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebased Created 6 years 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
« no previous file with comments | « no previous file | pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/compiler/lib/src/constants/expressions.dart
diff --git a/pkg/compiler/lib/src/constants/expressions.dart b/pkg/compiler/lib/src/constants/expressions.dart
index ac763bbc7ea6e088362d404a1226a45e8b080eb9..fe1357de51c8425d27e2e9c4a3141c263c3ddf08 100644
--- a/pkg/compiler/lib/src/constants/expressions.dart
+++ b/pkg/compiler/lib/src/constants/expressions.dart
@@ -256,22 +256,22 @@ class ConditionalConstantExpression extends ConstantExpression {
abstract class ConstantExpressionVisitor<C, R> {
const ConstantExpressionVisitor();
- R visit(ConstantExpression constant, [C context]) {
+ R visit(ConstantExpression constant, C context) {
return constant.accept(this, context);
}
- R visitPrimitive(PrimitiveConstantExpression exp, [C context]);
- R visitList(ListConstantExpression exp, [C context]);
- R visitMap(MapConstantExpression exp, [C context]);
- R visitConstructed(ConstructedConstantExpresssion exp, [C context]);
- R visitConcatenate(ConcatenateConstantExpression exp, [C context]);
- R visitSymbol(SymbolConstantExpression exp, [C context]);
- R visitType(TypeConstantExpression exp, [C context]);
- R visitVariable(VariableConstantExpression exp, [C context]);
- R visitFunction(FunctionConstantExpression exp, [C context]);
- R visitBinary(BinaryConstantExpression exp, [C context]);
- R visitUnary(UnaryConstantExpression exp, [C context]);
- R visitConditional(ConditionalConstantExpression exp, [C context]);
+ R visitPrimitive(PrimitiveConstantExpression exp, C context);
+ R visitList(ListConstantExpression exp, C context);
+ R visitMap(MapConstantExpression exp, C context);
+ R visitConstructed(ConstructedConstantExpresssion exp, C context);
+ R visitConcatenate(ConcatenateConstantExpression exp, C context);
+ R visitSymbol(SymbolConstantExpression exp, C context);
+ R visitType(TypeConstantExpression exp, C context);
+ R visitVariable(VariableConstantExpression exp, C context);
+ R visitFunction(FunctionConstantExpression exp, C context);
+ R visitBinary(BinaryConstantExpression exp, C context);
+ R visitUnary(UnaryConstantExpression exp, C context);
+ R visitConditional(ConditionalConstantExpression exp, C context);
}
/// Represents the declaration of a constant [element] with value [expression].
@@ -286,7 +286,7 @@ class ConstDeclaration {
class ConstExpPrinter extends ConstantExpressionVisitor {
final StringBuffer sb = new StringBuffer();
- write(ConstantExpression parent,
+ void write(ConstantExpression parent,
ConstantExpression child,
{bool leftAssociative: true}) {
if (child.precedence < parent.precedence ||
@@ -299,7 +299,7 @@ class ConstExpPrinter extends ConstantExpressionVisitor {
}
}
- writeTypeArguments(InterfaceType type) {
+ void writeTypeArguments(InterfaceType type) {
if (type.treatAsRaw) return;
sb.write('<');
bool needsComma = false;
@@ -313,11 +313,18 @@ class ConstExpPrinter extends ConstantExpressionVisitor {
sb.write('>');
}
- visitPrimitive(PrimitiveConstantExpression exp, [_]) {
+ @override
+ void visit(ConstantExpression constant, [_]) {
+ return constant.accept(this, null);
+ }
+
+ @override
+ void visitPrimitive(PrimitiveConstantExpression exp, [_]) {
sb.write(exp.value.unparse());
}
- visitList(ListConstantExpression exp, [_]) {
+ @override
+ void visitList(ListConstantExpression exp, [_]) {
sb.write('const ');
writeTypeArguments(exp.type);
sb.write('[');
@@ -332,7 +339,8 @@ class ConstExpPrinter extends ConstantExpressionVisitor {
sb.write(']');
}
- visitMap(MapConstantExpression exp, [_]) {
+ @override
+ void visitMap(MapConstantExpression exp, [_]) {
sb.write('const ');
writeTypeArguments(exp.type);
sb.write('{');
@@ -347,7 +355,8 @@ class ConstExpPrinter extends ConstantExpressionVisitor {
sb.write('}');
}
- visitConstructed(ConstructedConstantExpresssion exp, [_]) {
+ @override
+ void visitConstructed(ConstructedConstantExpresssion exp, [_]) {
sb.write('const ');
sb.write(exp.target.enclosingClass.name);
if (exp.target.name != '') {
@@ -378,20 +387,24 @@ class ConstExpPrinter extends ConstantExpressionVisitor {
sb.write(')');
}
- visitConcatenate(ConcatenateConstantExpression exp, [_]) {
+ @override
+ void visitConcatenate(ConcatenateConstantExpression exp, [_]) {
sb.write(exp.value.unparse());
}
- visitSymbol(SymbolConstantExpression exp, [_]) {
+ @override
+ void visitSymbol(SymbolConstantExpression exp, [_]) {
sb.write('#');
sb.write(exp.name);
}
- visitType(TypeConstantExpression exp, [_]) {
+ @override
+ void visitType(TypeConstantExpression exp, [_]) {
sb.write(exp.type.name);
}
- visitVariable(VariableConstantExpression exp, [_]) {
+ @override
+ void visitVariable(VariableConstantExpression exp, [_]) {
if (exp.element.isStatic) {
sb.write(exp.element.enclosingClass.name);
sb.write('.');
@@ -399,7 +412,8 @@ class ConstExpPrinter extends ConstantExpressionVisitor {
sb.write(exp.element.name);
}
- visitFunction(FunctionConstantExpression exp, [_]) {
+ @override
+ void visitFunction(FunctionConstantExpression exp, [_]) {
if (exp.element.isStatic) {
sb.write(exp.element.enclosingClass.name);
sb.write('.');
@@ -407,7 +421,8 @@ class ConstExpPrinter extends ConstantExpressionVisitor {
sb.write(exp.element.name);
}
- visitBinary(BinaryConstantExpression exp, [_]) {
+ @override
+ void visitBinary(BinaryConstantExpression exp, [_]) {
if (exp.operator == 'identical') {
sb.write('identical(');
visit(exp.left);
@@ -423,12 +438,14 @@ class ConstExpPrinter extends ConstantExpressionVisitor {
}
}
- visitUnary(UnaryConstantExpression exp, [_]) {
+ @override
+ void visitUnary(UnaryConstantExpression exp, [_]) {
sb.write(exp.operator);
write(exp, exp.expression);
}
- visitConditional(ConditionalConstantExpression exp, [_]) {
+ @override
+ void visitConditional(ConditionalConstantExpression exp, [_]) {
write(exp, exp.condition, leftAssociative: false);
sb.write(' ? ');
write(exp, exp.trueExp);
« no previous file with comments | « no previous file | pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698