public class AccessPathField extends AccessPath
AccessPath
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected polyglot.types.FieldInstance |
fi |
protected java.lang.String |
fieldName |
protected AccessPath |
path |
Constructor and Description |
---|
AccessPathField(AccessPath path,
polyglot.types.FieldInstance fi,
java.lang.String fieldName,
polyglot.util.Position pos) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
boolean |
equivalentTo(AccessPath p,
LabelEnv env) |
java.lang.String |
exprString() |
polyglot.types.FieldInstance |
fieldInstance() |
AccessPathField |
fieldInstance(polyglot.types.FieldInstance fi) |
java.lang.String |
fieldName() |
int |
hashCode() |
boolean |
isCanonical() |
boolean |
isNeverNull() |
protected boolean |
isTargetNeverNull() |
boolean |
isUninterpreted() |
PathMap |
labelcheck(JifContext A,
LabelChecker lc) |
AccessPath |
path() |
AccessPathRoot |
root() |
void |
setIsNeverNull() |
AccessPathField |
subst(AccessPathRoot r,
AccessPath e)
Return the result of substituting the root r with the access path
e.
|
java.util.List<polyglot.types.Type> |
throwTypes(polyglot.types.TypeSystem ts)
Return a list of types that may be thrown as a result of the runtime
evaluation of this path.
|
java.lang.String |
toString() |
polyglot.types.Type |
type()
The type of the access path (when the access path is regarded
as an expression).
|
void |
verify(JifContext A)
Go through the path, check that all the type information is set
correctly, and check that every field access is to a final field,
and any local used is final
|
copy, position
protected polyglot.types.FieldInstance fi
protected java.lang.String fieldName
protected final AccessPath path
public AccessPathField(AccessPath path, polyglot.types.FieldInstance fi, java.lang.String fieldName, polyglot.util.Position pos)
public boolean isNeverNull()
isNeverNull
in class AccessPath
public void setIsNeverNull()
public boolean isCanonical()
isCanonical
in class AccessPath
public boolean isUninterpreted()
isUninterpreted
in class AccessPath
public AccessPathField subst(AccessPathRoot r, AccessPath e)
AccessPath
subst
in class AccessPath
public final AccessPathRoot root()
root
in class AccessPath
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String exprString()
exprString
in class AccessPath
public AccessPath path()
public polyglot.types.FieldInstance fieldInstance()
public java.lang.String fieldName()
public AccessPathField fieldInstance(polyglot.types.FieldInstance fi)
public boolean equals(java.lang.Object o)
equals
in class AccessPath
public int hashCode()
hashCode
in class AccessPath
public polyglot.types.Type type()
AccessPath
type
in class AccessPath
public PathMap labelcheck(JifContext A, LabelChecker lc)
labelcheck
in class AccessPath
protected boolean isTargetNeverNull()
public void verify(JifContext A) throws polyglot.types.SemanticException
AccessPath
verify
in class AccessPath
polyglot.types.SemanticException
public java.util.List<polyglot.types.Type> throwTypes(polyglot.types.TypeSystem ts)
AccessPath
throwTypes
in class AccessPath
public boolean equivalentTo(AccessPath p, LabelEnv env)
equivalentTo
in class AccessPath