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 JifFormalExt

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

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

    public class JifFormalExt

extends Jif_c

The Jif extension of the `Formal` node.

See Also:
  `Formal`

Nested Class Summary
`protected static class` | `JifFormalExt.FormalVarianceLabelChecker` Checker to ensure that labels do not use covariant labels in the wrong places
`protected static class` | `JifFormalExt.FormalVarianceLabelSubstr` Visitor to ensure that labels do not use covariant labels in the wrong places

Field Summary

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

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

Constructor Summary
`JifFormalExt(ToJavaExt toJava)`

Method Summary
`protected void` | `checkVariance(LabelChecker lc, polyglot.ast.Formal f)` Ensure that covariant labels do not occur in the type of the formal for methods.
`polyglot.ast.Node` | `labelCheck(LabelChecker lc)` Label check the node to which this extension is attached.

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

### JifFormalExt

    public JifFormalExt(ToJavaExt toJava)

Method Detail

### labelCheck

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

  Description copied from interface: `Jif`
  Label check the node to which this extension is attached.

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

### checkVariance

    protected void checkVariance(LabelChecker lc,
                                 polyglot.ast.Formal f)
                          throws polyglot.types.SemanticException

  Ensure that covariant labels do not occur in the type of the formal for methods. Constructors do not require this check.

  Parameters:
    `lc` -
    `f` -
  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