Class ExpressionInfo

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

public class ExpressionInfo extends 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
Restriction:
This class is not intended to be subclassed by clients.
  • Constructor Details

    • ExpressionInfo

      public ExpressionInfo()
  • Method Details

    • 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 String[] getAccessedVariableNames()
      Returns the set of accessed variables.
      Returns:
      the set of accessed variables
    • addVariableNameAccess

      public void addVariableNameAccess(String name)
      Marks the given variable as accessed.
      Parameters:
      name - the accessed variable
    • getAccessedPropertyNames

      public 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:
    • addAccessedPropertyName

      public void addAccessedPropertyName(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:
    • getMisbehavingExpressionTypes

      public Class<?>[] getMisbehavingExpressionTypes()
      Returns the set of expression types which don't reimplement the new Expression.collectExpressionInfo(ExpressionInfo) method. If one expression in the expression tree didn't implement the method, then 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, or null if all do
    • addMisBehavingExpressionType

      public void addMisBehavingExpressionType(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