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); |
} |