Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1059)

Unified Diff: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/constant/EvaluationResultImpl.java

Issue 113143004: Constant evaluation support (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Clean-up Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698