jif.types.label
Class AccessPathLocal
java.lang.Object
jif.types.label.AccessPath
jif.types.label.AccessPathRoot
jif.types.label.AccessPathLocal
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, polyglot.util.Copy
public class AccessPathLocal
- extends AccessPathRoot
Represents a final access path rooted at a local variable.
- See Also:
AccessPath
,
Serialized Form
Field Summary |
protected polyglot.types.LocalInstance |
li
|
protected java.lang.String |
name
|
Constructor Summary |
AccessPathLocal(polyglot.types.LocalInstance li,
java.lang.String name,
polyglot.util.Position pos)
|
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
li
protected polyglot.types.LocalInstance li
name
protected java.lang.String name
AccessPathLocal
public AccessPathLocal(polyglot.types.LocalInstance li,
java.lang.String name,
polyglot.util.Position pos)
isCanonical
public boolean isCanonical()
- Specified by:
isCanonical
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
name
public AccessPathLocal name(java.lang.String name)
isNeverNull
public boolean isNeverNull()
- Specified by:
isNeverNull
in class AccessPath
setIsNeverNull
public void setIsNeverNull()
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
exprString
public java.lang.String exprString()
- Overrides:
exprString
in class AccessPath
name
public java.lang.String name()
localInstance
public polyglot.types.LocalInstance localInstance()
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