| Index: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/ConstantVisitor.java
|
| diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/ConstantVisitor.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/ConstantVisitor.java
|
| index 24dad03c6930b14506fa2c26c4af4a656d2264a5..8c858e58fb2b659b91c57a3ea5ee556993afc1db 100644
|
| --- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/ConstantVisitor.java
|
| +++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/ConstantVisitor.java
|
| @@ -17,6 +17,7 @@ import com.google.dart.engine.ast.ASTNode;
|
| import com.google.dart.engine.ast.AdjacentStrings;
|
| import com.google.dart.engine.ast.BinaryExpression;
|
| import com.google.dart.engine.ast.BooleanLiteral;
|
| +import com.google.dart.engine.ast.ConditionalExpression;
|
| import com.google.dart.engine.ast.DoubleLiteral;
|
| import com.google.dart.engine.ast.Expression;
|
| import com.google.dart.engine.ast.InstanceCreationExpression;
|
| @@ -171,6 +172,25 @@ public class ConstantVisitor extends GeneralizingASTVisitor<EvaluationResultImpl
|
| }
|
|
|
| @Override
|
| + public EvaluationResultImpl visitConditionalExpression(ConditionalExpression node) {
|
| + Expression condition = node.getCondition();
|
| + EvaluationResultImpl conditionResult = condition.accept(this);
|
| + conditionResult = conditionResult.applyBooleanConversion(condition);
|
| + if (conditionResult instanceof ErrorResult) {
|
| + return conditionResult;
|
| + }
|
| + EvaluationResultImpl thenResult = node.getThenExpression().accept(this);
|
| + if (thenResult instanceof ErrorResult) {
|
| + return thenResult;
|
| + }
|
| + EvaluationResultImpl elseResult = node.getElseExpression().accept(this);
|
| + if (elseResult instanceof ErrorResult) {
|
| + return elseResult;
|
| + }
|
| + return (conditionResult == ValidResult.RESULT_TRUE) ? thenResult : elseResult;
|
| + }
|
| +
|
| + @Override
|
| public EvaluationResultImpl visitDoubleLiteral(DoubleLiteral node) {
|
| return new ValidResult(Double.valueOf(node.getValue()));
|
| }
|
|
|