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

## jif.extension
Class JifFieldExt

    java.lang.Object
      polyglot.ast.Ext_c
          jif.ast.Jif_c
              jif.extension.JifExprExt
                  jif.extension.JifFieldExt

All Implemented Interfaces:
  java.lang.Cloneable, Jif, polyglot.ast.Ext, polyglot.util.Copy

    public class JifFieldExt

extends JifExprExt

The Jif extension of the `Field` node.

See Also:
  `Field`

Field Summary

Fields inherited from class jif.ast.Jif_c
`toJava, X`

Fields inherited from class polyglot.ast.Ext_c
`ext, node`

Constructor Summary
`JifFieldExt(ToJavaExt toJava)`

Method Summary
`protected static polyglot.ast.Receiver` | `checkTarget(LabelChecker lc, polyglot.ast.Field fe)`
`polyglot.ast.Node` | `labelCheck(LabelChecker lc)` label check the field access.
`polyglot.ast.Node` | `labelCheckIncrement(LabelChecker lc)`
`protected static polyglot.types.ReferenceType` | `targetType(JifTypeSystem ts, JifContext A, polyglot.ast.Receiver target, polyglot.ast.Field fe)`

Methods inherited from class jif.extension.JifExprExt
`getNumericBounds, setNumericBounds`

Methods inherited from class jif.ast.Jif_c
`checkAndRemoveThrowType, checkThrowTypes, copy, getPathMap, init, integerBoundsCalculated, toJava, toJava, updatePathMap, X, X`

Methods inherited from class polyglot.ast.Ext_c
`dump, ext, ext, node, toString`

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

Methods inherited from interface polyglot.ast.Ext
`dump, ext, ext, node`

Constructor Detail

### JifFieldExt

    public JifFieldExt(ToJavaExt toJava)

Method Detail

### labelCheckIncrement

    public polyglot.ast.Node labelCheckIncrement(LabelChecker lc)
                                          throws polyglot.types.SemanticException

  Throws:
    `polyglot.types.SemanticException`

### labelCheck

    public polyglot.ast.Node labelCheck(LabelChecker lc)
                                 throws polyglot.types.SemanticException

  label check the field access. Refer to Andrew's thesis, Figure 4.18

  Specified by:
    `labelCheck` in interface `Jif`
  Overrides:
    `labelCheck` in class `Jif_c`
  Throws:
    `polyglot.types.SemanticException`

### checkTarget

    protected static polyglot.ast.Receiver checkTarget(LabelChecker lc,
                                                       polyglot.ast.Field fe)
                                                throws polyglot.types.SemanticException

  Throws:
    `polyglot.types.SemanticException`

### targetType

    protected static polyglot.types.ReferenceType targetType(JifTypeSystem ts,
                                                             JifContext A,
                                                             polyglot.ast.Receiver target,
                                                             polyglot.ast.Field fe)

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