public class AccessPathField extends AccessPath
AccessPath,
Serialized Form| Modifier 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, positionprotected 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 AccessPathpublic void setIsNeverNull()
public boolean isCanonical()
isCanonical in class AccessPathpublic boolean isUninterpreted()
isUninterpreted in class AccessPathpublic AccessPathField subst(AccessPathRoot r, AccessPath e)
AccessPathsubst in class AccessPathpublic final AccessPathRoot root()
root in class AccessPathpublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String exprString()
exprString in class AccessPathpublic 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 AccessPathpublic int hashCode()
hashCode in class AccessPathpublic polyglot.types.Type type()
AccessPathtype in class AccessPathpublic PathMap labelcheck(JifContext A, LabelChecker lc)
labelcheck in class AccessPathprotected boolean isTargetNeverNull()
public void verify(JifContext A) throws polyglot.types.SemanticException
AccessPathverify in class AccessPathpolyglot.types.SemanticExceptionpublic java.util.List<polyglot.types.Type> throwTypes(polyglot.types.TypeSystem ts)
AccessPaththrowTypes in class AccessPathpublic boolean equivalentTo(AccessPath p, LabelEnv env)
equivalentTo in class AccessPath