Index: sdk/lib/_internal/compiler/implementation/dart_backend/backend_ast_emitter.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/dart_backend/backend_ast_emitter.dart b/sdk/lib/_internal/compiler/implementation/dart_backend/backend_ast_emitter.dart |
index b3b3bced37c6cadca799cb328933ecbf92befd27..abdfbd9b808a6da80260839853f71da4abc494ab 100644 |
--- a/sdk/lib/_internal/compiler/implementation/dart_backend/backend_ast_emitter.dart |
+++ b/sdk/lib/_internal/compiler/implementation/dart_backend/backend_ast_emitter.dart |
@@ -7,7 +7,7 @@ library backend_ast_emitter; |
import 'tree_ir_nodes.dart' as tree; |
import 'backend_ast_nodes.dart'; |
import '../constants/expressions.dart'; |
-import '../constants/values.dart' as values; |
+import '../constants/values.dart'; |
import '../dart_types.dart'; |
import '../elements/elements.dart'; |
import '../elements/modelx.dart' as modelx; |
@@ -182,7 +182,7 @@ class ASTEmitter extends tree.Visitor<dynamic, Expression> { |
/// Root parameters can have default values, while inner parameters cannot. |
Parameters emitRootParameters(tree.FunctionDefinition function) { |
FunctionSignature signature = function.element.functionSignature; |
- List<ConstExp> defaults = function.defaultParameterValues; |
+ List<ConstantExpression> defaults = function.defaultParameterValues; |
List<Parameter> required = |
signature.requiredParameters.mapToList(emitParameterFromElement); |
List<Parameter> optional = new List<Parameter>(defaults.length); |
@@ -421,7 +421,7 @@ class ASTEmitter extends tree.Visitor<dynamic, Expression> { |
visitStatement(stmt.body); |
Statement body = new Block(statementBuffer); |
- Statement statement = new While(new Literal(new values.TrueConstant()), |
+ Statement statement = new While(new Literal(new TrueConstantValue()), |
body); |
if (usedLabels.remove(stmt.label)) { |
statement = new LabeledStatement(stmt.label.name, statement); |
@@ -664,15 +664,16 @@ class ASTEmitter extends tree.Visitor<dynamic, Expression> { |
} |
} |
- Expression emitConstant(ConstExp exp) => new ConstantEmitter(this).visit(exp); |
- |
+ Expression emitConstant(ConstantExpression exp) { |
+ return new ConstantEmitter(this).visit(exp); |
+ } |
} |
-class ConstantEmitter extends ConstExpVisitor<Expression> { |
+class ConstantEmitter extends ConstantExpressionVisitor<Expression> { |
ASTEmitter parent; |
ConstantEmitter(this.parent); |
- Expression handlePrimitiveConstant(values.PrimitiveConstant value) { |
+ Expression handlePrimitiveConstant(PrimitiveConstantValue value) { |
// Num constants may be negative, while literals must be non-negative: |
// Literals are non-negative in the specification, and a negated literal |
// parses as a call to unary `-`. The AST unparser assumes literals are |
@@ -681,8 +682,8 @@ class ConstantEmitter extends ConstExpVisitor<Expression> { |
// Translate such constants into their positive value wrapped by |
// the unary minus operator. |
if (value.isNum) { |
- values.NumConstant numConstant = value; |
- if (numConstant.value.isNegative) { |
+ NumConstantValue numConstant = value; |
+ if (numConstant.primitiveValue.isNegative) { |
return negatedLiteral(numConstant); |
} |
} |
@@ -690,19 +691,19 @@ class ConstantEmitter extends ConstExpVisitor<Expression> { |
} |
@override |
- Expression visitPrimitive(PrimitiveConstExp exp) { |
+ Expression visitPrimitive(PrimitiveConstantExpression exp) { |
return handlePrimitiveConstant(exp.value); |
} |
/// Given a negative num constant, returns the corresponding positive |
/// literal wrapped by a unary minus operator. |
- Expression negatedLiteral(values.NumConstant constant) { |
- assert(constant.value.isNegative); |
- values.NumConstant positiveConstant; |
+ Expression negatedLiteral(NumConstantValue constant) { |
+ assert(constant.primitiveValue.isNegative); |
+ NumConstantValue positiveConstant; |
if (constant.isInt) { |
- positiveConstant = new values.IntConstant(-constant.value); |
+ positiveConstant = new IntConstantValue(-constant.primitiveValue); |
} else if (constant.isDouble) { |
- positiveConstant = new values.DoubleConstant(-constant.value); |
+ positiveConstant = new DoubleConstantValue(-constant.primitiveValue); |
} else { |
throw "Unexpected type of NumConstant: $constant"; |
} |
@@ -710,7 +711,7 @@ class ConstantEmitter extends ConstExpVisitor<Expression> { |
} |
@override |
- Expression visitList(ListConstExp exp) { |
+ Expression visitList(ListConstantExpression exp) { |
return new LiteralList( |
exp.values.map(visit).toList(growable: false), |
isConst: true, |
@@ -718,7 +719,7 @@ class ConstantEmitter extends ConstExpVisitor<Expression> { |
} |
@override |
- Expression visitMap(MapConstExp exp) { |
+ Expression visitMap(MapConstantExpression exp) { |
List<LiteralMapEntry> entries = new List<LiteralMapEntry>.generate( |
exp.values.length, |
(i) => new LiteralMapEntry(visit(exp.keys[i]), |
@@ -730,7 +731,7 @@ class ConstantEmitter extends ConstExpVisitor<Expression> { |
} |
@override |
- Expression visitConstructor(ConstructorConstExp exp) { |
+ Expression visitConstructor(ConstructedConstantExpresssion exp) { |
int positionalArgumentCount = exp.selector.positionalArgumentCount; |
List<Argument> args = new List<Argument>.generate( |
positionalArgumentCount, |
@@ -751,24 +752,24 @@ class ConstantEmitter extends ConstExpVisitor<Expression> { |
} |
@override |
- Expression visitConcatenate(ConcatenateConstExp exp) { |
+ Expression visitConcatenate(ConcatenateConstantExpression exp) { |
return new StringConcat(exp.arguments.map(visit).toList(growable: false)); |
} |
@override |
- Expression visitSymbol(SymbolConstExp exp) { |
+ Expression visitSymbol(SymbolConstantExpression exp) { |
return new LiteralSymbol(exp.name); |
} |
@override |
- Expression visitType(TypeConstExp exp) { |
+ Expression visitType(TypeConstantExpression exp) { |
DartType type = exp.type; |
return new LiteralType(type.name) |
..type = type; |
} |
@override |
- Expression visitVariable(VariableConstExp exp) { |
+ Expression visitVariable(VariableConstantExpression exp) { |
Element element = exp.element; |
if (element.kind != ElementKind.VARIABLE) { |
return new Identifier(element.name)..element = element; |
@@ -779,18 +780,18 @@ class ConstantEmitter extends ConstExpVisitor<Expression> { |
} |
@override |
- Expression visitFunction(FunctionConstExp exp) { |
+ Expression visitFunction(FunctionConstantExpression exp) { |
return new Identifier(exp.element.name) |
..element = exp.element; |
} |
@override |
- Expression visitBinary(BinaryConstExp exp) { |
+ Expression visitBinary(BinaryConstantExpression exp) { |
return handlePrimitiveConstant(exp.value); |
} |
@override |
- Expression visitConditional(ConditionalConstExp exp) { |
+ Expression visitConditional(ConditionalConstantExpression exp) { |
if (exp.condition.value.isTrue) { |
return exp.trueExp.accept(this); |
} else { |
@@ -799,7 +800,7 @@ class ConstantEmitter extends ConstExpVisitor<Expression> { |
} |
@override |
- Expression visitUnary(UnaryConstExp exp) { |
+ Expression visitUnary(UnaryConstantExpression exp) { |
return handlePrimitiveConstant(exp.value); |
} |
} |