jif.types.label
Class AccessPathThis
java.lang.Object
jif.types.label.AccessPath
jif.types.label.AccessPathRoot
jif.types.label.AccessPathThis
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, polyglot.util.Copy
public class AccessPathThis
- extends AccessPathRoot
Represents a final access path rooted at "this".
- See Also:
AccessPath,
Serialized Form
|
Constructor Summary |
AccessPathThis(polyglot.types.ClassType ct,
polyglot.util.Position pos)
|
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
AccessPathThis
public AccessPathThis(polyglot.types.ClassType ct,
polyglot.util.Position pos)
- Parameters:
ct - may be null.
isCanonical
public boolean isCanonical()
- Specified by:
isCanonical in class AccessPath
isNeverNull
public boolean isNeverNull()
- Specified by:
isNeverNull in class AccessPath
subst
public AccessPath subst(AccessPathRoot r,
AccessPath e)
- Description copied from class:
AccessPath
- Return the result of substituting the root r with the access path
e. For example, given a field access path "this.f", substituting
the access path root "this" for the access path "o.g" will result
in the access path "o.g.f". This method is used to instantiate
procedures for calls, and labels of fields.
- Specified by:
subst in class AccessPath
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
exprString
public java.lang.String exprString()
- Overrides:
exprString in class AccessPath
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals in class AccessPath
hashCode
public int hashCode()
- Specified by:
hashCode in class AccessPath
type
public polyglot.types.Type type()
- Description copied from class:
AccessPath
- The type of the access path (when the access path is regarded
as an expression).
- Specified by:
type in class AccessPath
labelcheck
public PathMap labelcheck(JifContext A,
LabelChecker lc)
- Overrides:
labelcheck in class AccessPathRoot
verify
public void verify(JifContext A)
throws polyglot.types.SemanticException
- Description copied from class:
AccessPath
- 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
- Overrides:
verify in class AccessPath
- Throws:
polyglot.types.SemanticException