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 an expression tree has 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 addAccessedPropertyName(java.lang.String name)
          Marks the given property (the fully qualified name of a PropertyTester property) as accessed.
 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[] getAccessedPropertyNames()
          Returns the set of accessed PropertyTester properties.
 java.lang.String[] getAccessedVariableNames()
          Returns the set of 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 of accessed variables.

Returns:
the set of accessed variables

addVariableNameAccess

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

Parameters:
name - the accessed variable

getAccessedPropertyNames

public java.lang.String[] getAccessedPropertyNames()
Returns the set of accessed PropertyTester properties.

Returns:
the fully qualified names of accessed properties, or an empty array
Since:
3.4
See Also:
for system properties

addAccessedPropertyName

public void addAccessedPropertyName(java.lang.String name)
Marks the given property (the fully qualified name of a PropertyTester property) as accessed.

Parameters:
name - the fully qualified property name
Since:
3.4
See Also:
for system properties

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