public interface VariableDescriptor
DfaVariableValue. Two variables are the same if they have the same descriptor and qualifier.
A descriptor could be a PsiVariable, getter method, array element with given index, this expression, etc.
Subclasses must have proper Object.equals(Object) and Object.hashCode() implementation or instantiation must be
controlled to prevent creating equal objects. Also #toString() must return sane representation of the descriptor.
| Modifier and Type | Method and Description |
|---|---|
default DfaValue |
createValue(DfaValueFactory factory,
DfaValue qualifier)
Returns a value which describes the field qualified by given qualifier and described by this descriptor
|
default DfaValue |
createValue(DfaValueFactory factory,
DfaValue qualifier,
boolean forAccessor)
Returns a value which describes the field qualified by given qualifier and described by this descriptor
|
default PsiModifierListOwner |
getPsiElement() |
PsiType |
getType(DfaVariableValue qualifier)
Returns the type of the value which is qualified by given qualifier and described by this descriptor
|
default boolean |
isCall() |
boolean |
isStable() |
default PsiModifierListOwner getPsiElement()
boolean isStable()
default boolean isCall()
default DfaValue createValue(DfaValueFactory factory, DfaValue qualifier)
factory - factory to usequalifier - qualifier to usedefault DfaValue createValue(DfaValueFactory factory, DfaValue qualifier, boolean forAccessor)
factory - factory to usequalifier - qualifier to useforAccessor - whether the value is created for accessor resultPsiType getType(DfaVariableValue qualifier)
qualifier - qualifier (may be null if absent)