jif.extension

## Class JifProcedureDeclDel

- java.lang.Object
- - polyglot.ast.JLDel_c
  - - jif.extension.JifDel_c
    - - jif.extension.JifProcedureDeclDel

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, JifDel, polyglot.ast.JLDel, polyglot.ast.NodeOps, polyglot.ast.ProcedureDeclOps, polyglot.util.Copy<polyglot.ast.JLDel>
  Direct Known Subclasses:
    JifMethodDeclDel

      public class JifProcedureDeclDel
      extends JifDel_c
      implements polyglot.ast.ProcedureDeclOps

  The Jif delegate the `ProcedureDecl` node.
  See Also:
    `ProcedureDecl`, Serialized Form

- - ### Nested Class Summary

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

      `polyglot.util.Copy.Util`

  - ### Field Summary

    - ### Fields inherited from class jif.extension.JifDel_c

      `fatalExceptions`

    - ### Fields inherited from class polyglot.ast.JLDel_c

      `instance`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JifProcedureDeclDel()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addFormalsToScope(polyglot.types.Context c)`
    `protected void` | `ensureNotTopPrincipal(java.util.List<Principal> principals, polyglot.util.Position pos)`
    `protected void` | `ensureNotTopPrincipal(Principal p, polyglot.util.Position pos)`
    `polyglot.types.Context` | `enterScope(polyglot.types.Context c)`
    `void` | `prettyPrintHeader(polyglot.types.Flags flags, polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)`
    `polyglot.ast.Node` | `typeCheck(polyglot.visit.TypeChecker tc)`

    - ### Methods inherited from class jif.extension.JifDel_c

      `buildTypes, fatalExceptions, setFatalExceptions, throwTypes, translate`

    - ### Methods inherited from class polyglot.ast.JLDel_c

      `addDecls, buildTypesEnter, checkConstants, childExpectedType, copy, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, exceptionCheck, exceptionCheckEnter, extRewrite, extRewriteEnter, extRewriteOverride, init, jl, lang, node, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JifProcedureDeclDel

          public JifProcedureDeclDel()

  - ### Method Detail

    - #### enterScope

          public polyglot.types.Context enterScope(polyglot.types.Context c)

      Specified by:
        `enterScope` in interface `polyglot.ast.NodeOps`
      Overrides:
        `enterScope` in class `polyglot.ast.JLDel_c`

    - #### addFormalsToScope

          protected void addFormalsToScope(polyglot.types.Context c)

    - #### typeCheck

          public polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc)
                                      throws polyglot.types.SemanticException

      Specified by:
        `typeCheck` in interface `polyglot.ast.NodeOps`
      Overrides:
        `typeCheck` in class `polyglot.ast.JLDel_c`
      Throws:
        `polyglot.types.SemanticException`

    - #### ensureNotTopPrincipal

          protected void ensureNotTopPrincipal(java.util.List<Principal> principals,
                                               polyglot.util.Position pos)
                                        throws polyglot.types.SemanticException

      Throws:
        `polyglot.types.SemanticException`

    - #### ensureNotTopPrincipal

          protected void ensureNotTopPrincipal(Principal p,
                                               polyglot.util.Position pos)
                                        throws polyglot.types.SemanticException

      Throws:
        `polyglot.types.SemanticException`

    - #### prettyPrintHeader

          public void prettyPrintHeader(polyglot.types.Flags flags,
                                        polyglot.util.CodeWriter w,
                                        polyglot.visit.PrettyPrinter tr)

      Specified by:
        `prettyPrintHeader` in interface `polyglot.ast.ProcedureDeclOps`