# Hierarchy For Package jif.extension

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - jif.extension.CallHelper
  - jif.extension.ConstructorChecker
  - polyglot.ast.Ext_c (implements polyglot.ast.Ext)
    - jif.ast.JifExt_c (implements jif.ast.JifExt)
      - jif.extension.JifClassBodyExt
      - jif.extension.JifClassDeclExt
      - jif.extension.JifExprExt
        - jif.extension.JifArrayAccessExt
        - jif.extension.JifArrayInitExt
        - jif.extension.JifAssignExt
          - jif.extension.JifArrayAccessAssignExt
          - jif.extension.JifFieldAssignExt
          - jif.extension.JifLocalAssignExt
        - jif.extension.JifBinaryExt
        - jif.extension.JifCallExt (implements polyglot.ast.CallOps)
        - jif.extension.JifCastExt
        - jif.extension.JifConditionalExt
        - jif.extension.JifDowngradeExprExt
          - jif.extension.JifDeclassifyExprExt
          - jif.extension.JifEndorseExprExt
        - jif.extension.JifFieldExt
        - jif.extension.JifInstanceofExt
        - jif.extension.JifLabelExprExt
        - jif.extension.JifLiteralExt
        - jif.extension.JifLocalExt
        - jif.extension.JifNewArrayExt
        - jif.extension.JifNewExt
        - jif.extension.JifPrincipalExprExt
        - jif.extension.JifPrincipalNodeExt
        - jif.extension.JifSpecialExt
        - jif.extension.JifUnaryExt
      - jif.extension.JifFieldDeclExt_c (implements jif.extension.JifFieldDeclExt)
      - jif.extension.JifFormalExt
      - jif.extension.JifInitializerExt
      - jif.extension.JifLocalClassDeclExt (implements polyglot.ast.Ext)
      - jif.extension.JifProcedureDeclExt_c (implements jif.extension.JifProcedureDeclExt)
        - jif.extension.JifConstructorDeclExt
        - jif.extension.JifMethodDeclExt
      - jif.extension.JifSourceFileExt
      - jif.extension.JifStmtExt_c (implements jif.extension.JifStmtExt)
        - jif.extension.JifBlockExt
        - jif.extension.JifBranchExt
        - jif.extension.JifCaseExt
        - jif.extension.JifConstructorCallExt
        - jif.extension.JifDoExt
        - jif.extension.JifDowngradeStmtExt
          - jif.extension.JifDeclassifyStmtExt
          - jif.extension.JifEndorseStmtExt
            - jif.extension.JifCheckedEndorseStmtExt
        - jif.extension.JifEmptyExt
        - jif.extension.JifEvalExt
        - jif.extension.JifForExt
        - jif.extension.JifIfExt
        - jif.extension.JifLabeledExt
        - jif.extension.JifLocalDeclExt
        - jif.extension.JifReturnExt
        - jif.extension.JifSwitchExt
        - jif.extension.JifSynchronizedExt
        - jif.extension.JifThrowExt
        - jif.extension.JifTryExt
        - jif.extension.JifWhileExt
  - polyglot.ast.JLDel_c (implements polyglot.ast.JLDel, java.io.Serializable)
    - jif.extension.JifDel_c (implements jif.extension.JifDel)
      - jif.extension.JifArrayAccessDel
      - jif.extension.JifArrayInitDel
      - jif.extension.JifAssignDel
        - jif.extension.JifArrayAccessAssignDel
        - jif.extension.JifFieldAssignDel
      - jif.extension.JifBinaryDel
      - jif.extension.JifCallDel (implements polyglot.ast.CallOps)
      - jif.extension.JifCastDel (implements jif.extension.JifPreciseClassDel)
      - jif.extension.JifCatchDel
      - jif.extension.JifClassDeclDel (implements polyglot.ast.ClassDeclOps)
      - jif.extension.JifConstructorCallDel
      - jif.extension.JifFieldDeclDel
      - jif.extension.JifFieldDel
      - jif.extension.JifFormalDel
      - jif.extension.JifIfDel
      - jif.extension.JifInitializerDel
      - jif.extension.JifInstanceOfDel
      - jif.extension.JifLocalDeclDel
      - jif.extension.JifNewArrayDel
      - jif.extension.JifNewDel (implements polyglot.ast.NewOps)
      - jif.extension.JifProcedureDeclDel (implements polyglot.ast.ProcedureDeclOps)
        - jif.extension.JifMethodDeclDel
      - jif.extension.JifThrowDel
      - jif.extension.JifTypeNodeDel
  - jif.types.LabelSubstitution
    - jif.extension.JifFieldDeclExt_c.InvarianceLabelChecker
    - jif.extension.JifFieldDeclExt_c.StaticFieldLabelChecker
    - jif.extension.JifFormalExt.FormalVarianceLabelChecker
    - jif.extension.JifMethodDeclExt.CovariantLabelChecker
    - jif.extension.JifProcedureDeclExt_c.ConstraintVarianceLabelChecker
    - jif.extension.JifTypeNodeDel.StaticLabelChecker
  - jif.extension.LabelTypeCheckUtil
  - jif.extension.SubtypeChecker
  - jif.types.TypeSubstitutor
    - jif.extension.JifFieldDeclExt_c.InvarianceLabelSubstr
    - jif.extension.JifFormalExt.FormalVarianceLabelSubstr

## Interface Hierarchy

- java.lang.Cloneable
  - polyglot.util.Copy<T>
    - polyglot.ast.Ext (also extends polyglot.ast.NodeOps, java.io.Serializable)
      - jif.ast.JifExt
        - jif.extension.JifFieldDeclExt
        - jif.extension.JifProcedureDeclExt
        - jif.extension.JifStmtExt
- jif.extension.JifDel
- jif.extension.JifPreciseClassDel
- polyglot.ast.NodeOps
  - polyglot.ast.Ext (also extends polyglot.util.Copy<T>, java.io.Serializable)
    - jif.ast.JifExt
      - jif.extension.JifFieldDeclExt
      - jif.extension.JifProcedureDeclExt
      - jif.extension.JifStmtExt
- java.io.Serializable
  - polyglot.ast.Ext (also extends polyglot.util.Copy<T>, polyglot.ast.NodeOps)
    - jif.ast.JifExt
      - jif.extension.JifFieldDeclExt
      - jif.extension.JifProcedureDeclExt
      - jif.extension.JifStmtExt