Class InstanceAccessExt
A generalization of InstanceAccess
that includes implicit accesses.
The accesses can be divided into 6 kinds:
- Explicit: Represented by an
InstanceAccess
. - Implicit field qualifier: The implicit access associated with an
unqualified
FieldAccess
to a non-static field. - Implicit method qualifier: The implicit access associated with an
unqualified
MethodCall
to a non-static method. - Implicit this constructor argument: The implicit argument of the value of
this
to a constructor call of the formthis()
orsuper()
. - Implicit enclosing instance capture: The implicit capture of the value of the directly enclosing instance of a constructed inner class. This is associated with an unqualified constructor call.
- Implicit enclosing instance qualifier: The instance access that occurs as the implicit qualifier of a desugared enclosing instance access.
Of these 6 kinds, the fourth (implicit this constructor argument) is always
an OwnInstanceAccess
, whereas the other 5 can be either OwnInstanceAccess
or EnclosingInstanceAccess
.
Import path
import semmle.code.java.dataflow.InstanceAccess
Direct supertypes
Known direct subtypes
Predicates
getCfgNode | Gets the control flow node associated with this instance access. |
getEnclosingCallable | Gets the callable in which this instance access occurs. |
getLocation | Gets the source location for this element. |
getType | Gets the type of this instance access. |
isEnclosingInstanceAccess | Holds if this is an access to an enclosing instance. |
isExplicit | Holds if this is the explicit instance access |
isImplicitEnclosingInstanceCapture | Holds if this is the implicit qualifier of |
isImplicitEnclosingInstanceQualifier | Holds if this is the implicit qualifier of the desugared enclosing instance access |
isImplicitFieldQualifier | Holds if this is the implicit qualifier of |
isImplicitMethodQualifier | Holds if this is the implicit qualifier of |
isImplicitThisConstructorArgument | Holds if this is the implicit |
isOwnInstanceAccess | Holds if this is an access to an object’s own instance. |
toString | Gets a textual representation of this element. |