org.eclipse.core.expressions
Class ExpressionInfo

java.lang.Object
  extended by org.eclipse.core.expressions.ExpressionInfo

public class ExpressionInfo
extends java.lang.Object

A status object describing information about an expression tree. This information can for example be used to decide whether a expression tree as to be reevaluated if the value of some variables changes.

This class is not intended to be extended by clients.

Since:
3.2

Constructor Summary
ExpressionInfo()
           
 
Method Summary
 void addMisBehavingExpressionType(java.lang.Class clazz)
          Adds the given class to the list of misbehaving classes.
 void addVariableNameAccess(java.lang.String name)
          Marks the given variable as accessed.
 java.lang.String[] getAccessedVariableNames()
          Returns the set off accessed variables.
 java.lang.Class[] getMisbehavingExpressionTypes()
          Returns the set of expression types which don't implement the new (@link Expression#computeReevaluationInfo(IEvaluationContext)} method.
 boolean hasDefaultVariableAccess()
          Returns true if the default variable is accessed by the expression tree.
 boolean hasSystemPropertyAccess()
          Returns true if the system property is accessed by the expression tree.
 void markDefaultVariableAccessed()
          Marks the default variable as accessed.
 void markSystemPropertyAccessed()
          Marks the system property as accessed.
 void merge(ExpressionInfo other)
          Merges this reevaluation information with the given info.
 void mergeExceptDefaultVariable(ExpressionInfo other)
          Merges this reevaluation information with the given info ignoring the default variable access.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpressionInfo

public ExpressionInfo()
Method Detail

hasDefaultVariableAccess

public boolean hasDefaultVariableAccess()
Returns true if the default variable is accessed by the expression tree.

Returns:
whether the default variable is accessed or not

markDefaultVariableAccessed

public void markDefaultVariableAccessed()
Marks the default variable as accessed.


hasSystemPropertyAccess

public boolean hasSystemPropertyAccess()
Returns true if the system property is accessed by the expression tree.

Returns:
whether the system property is accessed or not

markSystemPropertyAccessed

public void markSystemPropertyAccessed()
Marks the system property as accessed.


getAccessedVariableNames

public java.lang.String[] getAccessedVariableNames()
Returns the set off accessed variables.

Returns:
the set off accessed variables

addVariableNameAccess

public void addVariableNameAccess(java.lang.String name)
Marks the given variable as accessed.

Parameters:
name - the accessed variable

getMisbehavingExpressionTypes

public java.lang.Class[] getMisbehavingExpressionTypes()
Returns the set of expression types which don't implement the new (@link Expression#computeReevaluationInfo(IEvaluationContext)} method. If one expression didn't implement the method the expression tree no optimizations can be done. Returns null if all expressions implement the method.

Returns:
the set of expression types which don't implement the computeReevaluationInfo method.

addMisBehavingExpressionType

public void addMisBehavingExpressionType(java.lang.Class clazz)
Adds the given class to the list of misbehaving classes.

Parameters:
clazz - the class to add.

merge

public void merge(ExpressionInfo other)
Merges this reevaluation information with the given info.

Parameters:
other - the information to merge with

mergeExceptDefaultVariable

public void mergeExceptDefaultVariable(ExpressionInfo other)
Merges this reevaluation information with the given info ignoring the default variable access.

Parameters:
other - the information to merge with