| Index: pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart
|
| diff --git a/pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart b/pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart
|
| index beb05de1da9dfeb3434ff3d9e21128967290515f..c8d6dee552edef04b4cb20ac8e739f1d9910aede 100644
|
| --- a/pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart
|
| +++ b/pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart
|
| @@ -1114,7 +1114,7 @@ class TypeGenerator {
|
|
|
|
|
| class ConstantEmitter
|
| - extends ConstantExpressionVisitor<BuilderContext<Statement>, Expression> {
|
| + extends ConstantExpressionVisitor<Expression, BuilderContext<Statement>> {
|
| const ConstantEmitter();
|
|
|
| /// Creates the [Expression] for the constant [exp].
|
| @@ -1147,8 +1147,32 @@ class ConstantEmitter
|
| }
|
|
|
| @override
|
| - Expression visitPrimitive(PrimitiveConstantExpression exp,
|
| - BuilderContext<Statement> context) {
|
| + Expression visitBool(BoolConstantExpression exp,
|
| + BuilderContext<Statement> context) {
|
| + return handlePrimitiveConstant(exp.value);
|
| + }
|
| +
|
| + @override
|
| + Expression visitInt(IntConstantExpression exp,
|
| + BuilderContext<Statement> context) {
|
| + return handlePrimitiveConstant(exp.value);
|
| + }
|
| +
|
| + @override
|
| + Expression visitDouble(DoubleConstantExpression exp,
|
| + BuilderContext<Statement> context) {
|
| + return handlePrimitiveConstant(exp.value);
|
| + }
|
| +
|
| + @override
|
| + Expression visitString(StringConstantExpression exp,
|
| + BuilderContext<Statement> context) {
|
| + return handlePrimitiveConstant(exp.value);
|
| + }
|
| +
|
| + @override
|
| + Expression visitNull(NullConstantExpression exp,
|
| + BuilderContext<Statement> context) {
|
| return handlePrimitiveConstant(exp.value);
|
| }
|
|
|
| @@ -1216,7 +1240,7 @@ class ConstantEmitter
|
| Expression visitConcatenate(ConcatenateConstantExpression exp,
|
| BuilderContext<Statement> context) {
|
|
|
| - return new StringConcat(visitExpressions(exp.arguments, context));
|
| + return new StringConcat(visitExpressions(exp.expressions, context));
|
| }
|
|
|
| @override
|
| @@ -1279,6 +1303,39 @@ class ConstantEmitter
|
| BuilderContext<Statement> context) {
|
| return handlePrimitiveConstant(exp.value);
|
| }
|
| +
|
| + @override
|
| + Expression visitNamed(NamedArgumentReference exp,
|
| + BuilderContext<Statement> context) {
|
| + throw new UnsupportedError("ConstantEmitter.visitNamed");
|
| + }
|
| +
|
| + @override
|
| + Expression visitPositional(PositionalArgumentReference exp,
|
| + BuilderContext<Statement> context) {
|
| + throw new UnsupportedError("ConstantEmitter.visitPositional");
|
| + }
|
| +
|
| + @override
|
| + Expression visitBoolFromEnvironment(
|
| + BoolFromEnvironmentConstantExpression exp,
|
| + BuilderContext<Statement> context) {
|
| + return handlePrimitiveConstant(exp.value);
|
| + }
|
| +
|
| + @override
|
| + Expression visitIntFromEnvironment(
|
| + IntFromEnvironmentConstantExpression exp,
|
| + BuilderContext<Statement> context) {
|
| + return handlePrimitiveConstant(exp.value);
|
| + }
|
| +
|
| + @override
|
| + Expression visitStringFromEnvironment(
|
| + StringFromEnvironmentConstantExpression exp,
|
| + BuilderContext<Statement> context) {
|
| + return handlePrimitiveConstant(exp.value);
|
| + }
|
| }
|
|
|
| /// Moves function parameters into a separate variable if one of its uses is
|
|
|