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 JifFieldDeclExt_c

    java.lang.Object
      polyglot.ast.Ext_c
          jif.ast.Jif_c
              jif.extension.JifFieldDeclExt_c

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

    public class JifFieldDeclExt_c

extends Jif_c
implements JifFieldDeclExt

The Jif extension of the `FieldDecl` node.

See Also:
  `FieldDecl`

Nested Class Summary
`protected static class` | `JifFieldDeclExt_c.InvarianceLabelChecker` Checker to ensure that labels do not use covariant labels in the wrong places
`protected static class` | `JifFieldDeclExt_c.InvarianceLabelSubstr` Visitor to ensure that labels do not use covariant labels in the wrong places
`protected static class` | `JifFieldDeclExt_c.StaticFieldLabelChecker` Checker to ensure that labels of static fields do not use the This label, or any parameters

Field Summary

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

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

Constructor Summary
`JifFieldDeclExt_c(ToJavaExt toJava)`

Method Summary
`polyglot.ast.Node` | `labelCheck(LabelChecker lc)` Label check field initializers.
`void` | `labelCheckField(LabelChecker lc, JifClassType ct)` Extracts the declared label of this field.

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 jif.ast.Jif
`integerBoundsCalculated, toJava, toJava, X, X`

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

Methods inherited from interface polyglot.util.Copy
`copy`

Constructor Detail

### JifFieldDeclExt_c

    public JifFieldDeclExt_c(ToJavaExt toJava)

Method Detail

### labelCheckField

    public void labelCheckField(LabelChecker lc,
                                JifClassType ct)
                         throws polyglot.types.SemanticException

  Extracts the declared label of this field.

  Specified by:
    `labelCheckField` in interface `JifFieldDeclExt`
  Throws:
    `polyglot.types.SemanticException`

### labelCheck

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

  Label check field initializers. the PC of field initializer is the bottom label, because the initializer is always executed after invoking super constructor and before invoking the constructor of this class. (like the single path rule)

  Specified by:
    `labelCheck` in interface `Jif`
  Overrides:
    `labelCheck` in class `Jif_c`
  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