Package org.eclipse.core.expressions
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 Summary
Constructors Constructor Description ExpressionInfo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAccessedPropertyName(String name)
Marks the given property (the fully qualified name of aPropertyTester
property) as accessed.void
addMisBehavingExpressionType(Class<?> clazz)
Adds the given class to the list of misbehaving classes.void
addVariableNameAccess(String name)
Marks the given variable as accessed.String[]
getAccessedPropertyNames()
Returns the set of accessedPropertyTester
properties.String[]
getAccessedVariableNames()
Returns the set of accessed variables.Class<?>[]
getMisbehavingExpressionTypes()
Returns the set of expression types which don't reimplement the newExpression.collectExpressionInfo(ExpressionInfo)
method.boolean
hasDefaultVariableAccess()
Returnstrue
if the default variable is accessed by the expression tree.boolean
hasSystemPropertyAccess()
Returnstrue
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.
-
-
-
Method Detail
-
hasDefaultVariableAccess
public boolean hasDefaultVariableAccess()
Returnstrue
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()
Returnstrue
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 accessedPropertyTester
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(String name)
Marks the given property (the fully qualified name of aPropertyTester
property) as accessed.- Parameters:
name
- the fully qualified property name- Since:
- 3.4
- See Also:
for system properties
-
getMisbehavingExpressionTypes
public Class<?>[] getMisbehavingExpressionTypes()
Returns the set of expression types which don't reimplement the newExpression.collectExpressionInfo(ExpressionInfo)
method. If one expression in the expression tree didn't implement the method, then no optimizations can be done. Returnsnull
if all expressions implement the method.- Returns:
- the set of expression types which don't implement the
computeReevaluationInfo
method, ornull
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
-
-