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)