org.jetbrains.kotlin.resolve.calls.smartcasts
Class DataFlowValue
java.lang.Object
org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowValue
public class DataFlowValue
- extends java.lang.Object
This class describes an arbitrary object which has some value in data flow analysis.
In general case it's some r-value.
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
NULL
public static final DataFlowValue NULL
NULLABLE
public static final DataFlowValue NULLABLE
ERROR
public static final DataFlowValue ERROR
getId
@Nullable
public java.lang.Object getId()
getImmanentNullability
@NotNull
public Nullability getImmanentNullability()
isUncapturedLocalVariable
public boolean isUncapturedLocalVariable()
- Identifier is considered a local variable here if it's mutable (var), local and not captured in a closure
isPredictable
public boolean isPredictable()
- Both stable identifiers and uncaptured local variables are considered "predictable".
Predictable means here we do not expect some sudden change of their values,
like accessing mutable properties in another thread or mutable variables from closures.
getType
@NotNull
public JetType getType()
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals in class java.lang.Object
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
hashCode
public int hashCode()
- Overrides:
hashCode in class java.lang.Object