| Index: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/EvaluationResultImpl.java
|
| diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/EvaluationResultImpl.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/EvaluationResultImpl.java
|
| index 35b9c7ff500de6dd9cbd83f1cb6142eb384d2937..3b3a90db5ca63b5b1f0aafe17089a119584975c9 100644
|
| --- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/EvaluationResultImpl.java
|
| +++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/EvaluationResultImpl.java
|
| @@ -16,115 +16,127 @@ package com.google.dart.engine.internal.constant;
|
| import com.google.dart.engine.ast.ASTNode;
|
| import com.google.dart.engine.ast.BinaryExpression;
|
| import com.google.dart.engine.ast.Expression;
|
| +import com.google.dart.engine.internal.resolver.TypeProvider;
|
|
|
| /**
|
| * Instances of the class {@code InternalResult} represent the result of attempting to evaluate a
|
| * expression.
|
| */
|
| public abstract class EvaluationResultImpl {
|
| - public abstract EvaluationResultImpl add(BinaryExpression node, EvaluationResultImpl rightOperand);
|
| + public abstract EvaluationResultImpl add(TypeProvider typeProvider, BinaryExpression node,
|
| + EvaluationResultImpl rightOperand);
|
|
|
| /**
|
| * Return the result of applying boolean conversion to this result.
|
| *
|
| + * @param typeProvider the type provider used to access known types
|
| * @param node the node against which errors should be reported
|
| * @return the result of applying boolean conversion to the given value
|
| */
|
| - public abstract EvaluationResultImpl applyBooleanConversion(ASTNode node);
|
| + public abstract EvaluationResultImpl applyBooleanConversion(TypeProvider typeProvider,
|
| + ASTNode node);
|
|
|
| - public abstract EvaluationResultImpl bitAnd(BinaryExpression node,
|
| + public abstract EvaluationResultImpl bitAnd(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl bitNot(Expression node);
|
| + public abstract EvaluationResultImpl bitNot(TypeProvider typeProvider, Expression node);
|
|
|
| - public abstract EvaluationResultImpl bitOr(BinaryExpression node,
|
| + public abstract EvaluationResultImpl bitOr(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl bitXor(BinaryExpression node,
|
| + public abstract EvaluationResultImpl bitXor(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl concatenate(Expression node,
|
| + public abstract EvaluationResultImpl concatenate(TypeProvider typeProvider, Expression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl divide(BinaryExpression node,
|
| + public abstract EvaluationResultImpl divide(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl equalEqual(Expression node, EvaluationResultImpl rightOperand);
|
| + public abstract EvaluationResultImpl equalEqual(TypeProvider typeProvider, Expression node,
|
| + EvaluationResultImpl rightOperand);
|
|
|
| - public abstract boolean equalValues(EvaluationResultImpl result);
|
| + public abstract boolean equalValues(TypeProvider typeProvider, EvaluationResultImpl result);
|
|
|
| - public abstract EvaluationResultImpl greaterThan(BinaryExpression node,
|
| - EvaluationResultImpl rightOperand);
|
| + public abstract EvaluationResultImpl greaterThan(TypeProvider typeProvider,
|
| + BinaryExpression node, EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl greaterThanOrEqual(BinaryExpression node,
|
| - EvaluationResultImpl rightOperand);
|
| + public abstract EvaluationResultImpl greaterThanOrEqual(TypeProvider typeProvider,
|
| + BinaryExpression node, EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl integerDivide(BinaryExpression node,
|
| - EvaluationResultImpl rightOperand);
|
| + public abstract EvaluationResultImpl integerDivide(TypeProvider typeProvider,
|
| + BinaryExpression node, EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl lessThan(BinaryExpression node,
|
| + public abstract EvaluationResultImpl lessThan(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl lessThanOrEqual(BinaryExpression node,
|
| - EvaluationResultImpl rightOperand);
|
| + public abstract EvaluationResultImpl lessThanOrEqual(TypeProvider typeProvider,
|
| + BinaryExpression node, EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl logicalAnd(BinaryExpression node,
|
| + public abstract EvaluationResultImpl logicalAnd(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl logicalNot(Expression node);
|
| + public abstract EvaluationResultImpl logicalNot(TypeProvider typeProvider, Expression node);
|
|
|
| - public abstract EvaluationResultImpl logicalOr(BinaryExpression node,
|
| + public abstract EvaluationResultImpl logicalOr(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl minus(BinaryExpression node,
|
| + public abstract EvaluationResultImpl minus(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl negated(Expression node);
|
| + public abstract EvaluationResultImpl negated(TypeProvider typeProvider, Expression node);
|
|
|
| - public abstract EvaluationResultImpl notEqual(BinaryExpression node,
|
| + public abstract EvaluationResultImpl notEqual(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl performToString(ASTNode node);
|
| + public abstract EvaluationResultImpl performToString(TypeProvider typeProvider, ASTNode node);
|
|
|
| - public abstract EvaluationResultImpl remainder(BinaryExpression node,
|
| + public abstract EvaluationResultImpl remainder(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl shiftLeft(BinaryExpression node,
|
| + public abstract EvaluationResultImpl shiftLeft(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl shiftRight(BinaryExpression node,
|
| + public abstract EvaluationResultImpl shiftRight(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| - public abstract EvaluationResultImpl times(BinaryExpression node,
|
| + public abstract EvaluationResultImpl times(TypeProvider typeProvider, BinaryExpression node,
|
| EvaluationResultImpl rightOperand);
|
|
|
| protected abstract EvaluationResultImpl addToError(BinaryExpression node, ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl addToValid(BinaryExpression node, ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl addToValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl bitAndError(BinaryExpression node, ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl bitAndValid(BinaryExpression node, ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl bitAndValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl bitOrError(BinaryExpression node, ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl bitOrValid(BinaryExpression node, ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl bitOrValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl bitXorError(BinaryExpression node, ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl bitXorValid(BinaryExpression node, ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl bitXorValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl concatenateError(Expression node, ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl concatenateValid(Expression node, ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl concatenateValid(TypeProvider typeProvider,
|
| + Expression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl divideError(BinaryExpression node, ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl divideValid(BinaryExpression node, ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl divideValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl equalEqualError(Expression node, ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl equalEqualValid(Expression node, ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl equalEqualValid(TypeProvider typeProvider,
|
| + Expression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl greaterThanError(BinaryExpression node,
|
| ErrorResult leftOperand);
|
| @@ -132,17 +144,17 @@ public abstract class EvaluationResultImpl {
|
| protected abstract EvaluationResultImpl greaterThanOrEqualError(BinaryExpression node,
|
| ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl greaterThanOrEqualValid(BinaryExpression node,
|
| - ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl greaterThanOrEqualValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl greaterThanValid(BinaryExpression node,
|
| - ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl greaterThanValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl integerDivideError(BinaryExpression node,
|
| ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl integerDivideValid(BinaryExpression node,
|
| - ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl integerDivideValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl lessThanError(BinaryExpression node,
|
| ErrorResult leftOperand);
|
| @@ -150,53 +162,55 @@ public abstract class EvaluationResultImpl {
|
| protected abstract EvaluationResultImpl lessThanOrEqualError(BinaryExpression node,
|
| ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl lessThanOrEqualValid(BinaryExpression node,
|
| - ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl lessThanOrEqualValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl lessThanValid(BinaryExpression node,
|
| - ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl lessThanValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl logicalAndError(BinaryExpression node,
|
| ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl logicalAndValid(BinaryExpression node,
|
| - ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl logicalAndValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl logicalOrError(BinaryExpression node,
|
| ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl logicalOrValid(BinaryExpression node,
|
| - ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl logicalOrValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl minusError(BinaryExpression node, ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl minusValid(BinaryExpression node, ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl minusValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl notEqualError(BinaryExpression node,
|
| ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl notEqualValid(BinaryExpression node,
|
| - ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl notEqualValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl remainderError(BinaryExpression node,
|
| ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl remainderValid(BinaryExpression node,
|
| - ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl remainderValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl shiftLeftError(BinaryExpression node,
|
| ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl shiftLeftValid(BinaryExpression node,
|
| - ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl shiftLeftValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl shiftRightError(BinaryExpression node,
|
| ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl shiftRightValid(BinaryExpression node,
|
| - ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl shiftRightValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
|
|
| protected abstract EvaluationResultImpl timesError(BinaryExpression node, ErrorResult leftOperand);
|
|
|
| - protected abstract EvaluationResultImpl timesValid(BinaryExpression node, ValidResult leftOperand);
|
| + protected abstract EvaluationResultImpl timesValid(TypeProvider typeProvider,
|
| + BinaryExpression node, ValidResult leftOperand);
|
| }
|
|
|