Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

    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)`

Method Summary
`boolean` | `equals(java.lang.Object o)`
`java.lang.String` | `exprString()`
`int` | `hashCode()`
`boolean` | `isCanonical()`
`boolean` | `isNeverNull()`
`PathMap` | `labelcheck(JifContext A, LabelChecker lc)`
`polyglot.types.LocalInstance` | `localInstance()`
`java.lang.String` | `name()`
`void` | `setIsNeverNull()`
`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).
`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

Methods inherited from class jif.types.label.AccessPathRoot
`equivalentTo, isUninterpreted, root`

Methods inherited from class jif.types.label.AccessPath
`position, throwTypes`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### li

    protected polyglot.types.LocalInstance li

### name

    protected java.lang.String name

Constructor Detail

### AccessPathLocal

    public AccessPathLocal(polyglot.types.LocalInstance li,
                           java.lang.String name,
                           polyglot.util.Position pos)

Method Detail

### 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`

### 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`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD