public class AccessPathConstant extends AccessPathRoot
int{*lb} m(label{} lb);and a call site
m(new label{Alice:});the type system needs to be precise enough to realize that the method call returns an int with label {Alice:}. This is achieved through the use of AccessPathConstants.
Constructor and Description |
---|
AccessPathConstant(Label label,
polyglot.types.Type type,
polyglot.util.Position pos) |
AccessPathConstant(Principal principal,
polyglot.types.Type type,
polyglot.util.Position pos) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
constantValue() |
boolean |
equals(java.lang.Object o) |
int |
hashCode() |
boolean |
isCanonical() |
boolean |
isLabelConstant() |
boolean |
isNeverNull() |
boolean |
isPrincipalConstant() |
AccessPath |
subst(AccessPathRoot r,
AccessPath e)
Return the result of substituting the root r with the access path
e.
|
java.lang.String |
toString() |
polyglot.types.Type |
type()
The type of the access path (when the access path is regarded
as an expression).
|
equivalentTo, isUninterpreted, labelcheck, root
copy, exprString, position, throwTypes, verify
public AccessPathConstant(Label label, polyglot.types.Type type, polyglot.util.Position pos)
public AccessPathConstant(Principal principal, polyglot.types.Type type, polyglot.util.Position pos)
public java.lang.Object constantValue()
public boolean isLabelConstant()
public boolean isNeverNull()
isNeverNull
in class AccessPath
public boolean isPrincipalConstant()
public boolean isCanonical()
isCanonical
in class AccessPath
public AccessPath subst(AccessPathRoot r, AccessPath e)
AccessPath
subst
in class AccessPath
public java.lang.String toString()
toString
in class java.lang.Object
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