jif.ast

## Interface JifExt

- All Superinterfaces:
    java.lang.Cloneable, polyglot.util.Copy<polyglot.ast.Ext>, polyglot.ast.Ext, polyglot.ast.NodeOps, java.io.Serializable
  All Known Subinterfaces:
    JifFieldDeclExt, JifProcedureDeclExt, JifStmtExt
  All Known Implementing Classes:
    JifArrayAccessAssignExt, JifArrayAccessExt, JifArrayInitExt, JifAssignExt, JifBinaryExt, JifBlockExt, JifBranchExt, JifCallExt, JifCaseExt, JifCastExt, JifCheckedEndorseStmtExt, JifClassBodyExt, JifClassDeclExt, JifConditionalExt, JifConstructorCallExt, JifConstructorDeclExt, JifDeclassifyExprExt, JifDeclassifyStmtExt, JifDoExt, JifDowngradeExprExt, JifDowngradeStmtExt, JifEmptyExt, JifEndorseExprExt, JifEndorseStmtExt, JifEvalExt, JifExprExt, JifExt_c, JifFieldAssignExt, JifFieldDeclExt_c, JifFieldExt, JifForExt, JifFormalExt, JifIfExt, JifInitializerExt, JifInstanceofExt, JifLabeledExt, JifLabelExprExt, JifLiteralExt, JifLocalAssignExt, JifLocalClassDeclExt, JifLocalDeclExt, JifLocalExt, JifMethodDeclExt, JifNewArrayExt, JifNewExt, JifPrincipalExprExt, JifPrincipalNodeExt, JifProcedureDeclExt_c, JifReturnExt, JifSourceFileExt, JifSpecialExt, JifStmtExt_c, JifSwitchExt, JifSynchronizedExt, JifThrowExt, JifTryExt, JifUnaryExt, JifWhileExt

      public interface JifExt
      extends polyglot.ast.Ext

  This class represents a Jif extension node. It is the root of all the Jif extension node classes.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface polyglot.util.Copy

      `polyglot.util.Copy.Util`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `integerBoundsCalculated()` A method that is called to notify the extension that the numeric bounds have been calculated.
    `polyglot.ast.Node` | `labelCheck(LabelChecker lc)` Label check the node to which this extension is attached.
    `ToJavaExt` | `toJava()`
    `JifExt` | `toJava(ToJavaExt toJava)`
    `PathMap` | `X()` Gets the path map of this extension.
    `JifExt` | `X(PathMap X)` Returns a copy of this object with the path map updated.

    - ### Methods inherited from interface polyglot.ast.Ext

      `dump, ext, ext, init, initPred, node, pred`

    - ### Methods inherited from interface polyglot.ast.NodeOps

      `addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, extRewrite, extRewriteEnter, extRewriteOverride, lang, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList`

    - ### Methods inherited from interface polyglot.util.Copy

      `copy`

- - ### Method Detail

    - #### toJava

          ToJavaExt toJava()

    - #### toJava

          JifExt toJava(ToJavaExt toJava)

    - #### X

          PathMap X()

      Gets the path map of this extension.

    - #### X

          JifExt X(PathMap X)

      Returns a copy of this object with the path map updated.

    - #### labelCheck

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

      Label check the node to which this extension is attached.
      Throws:
        `polyglot.types.SemanticException`

    - #### integerBoundsCalculated

          void integerBoundsCalculated()

      A method that is called to notify the extension that the numeric bounds have been calculated.