# Hierarchy For Package jif.translate

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - jif.translate.ActsForConstraintToJavaExpr_c (implements jif.translate.ActsForConstraintToJavaExpr)
  - polyglot.ast.Ext_c (implements polyglot.ast.Ext)
    - jif.translate.ToJavaExt_c (implements jif.translate.ToJavaExt)
      - jif.translate.ArrayAccessAssignToJavaExt_c
      - jif.translate.ArrayAccessToJavaExt_c
      - jif.translate.ArrayInitToJavaExt_c
      - jif.translate.BlockToJavaExt_c
      - jif.translate.BranchToJavaExt_c
      - jif.translate.CannotToJavaExt_c
      - jif.translate.CanonicalLabelNodeToJavaExt_c
      - jif.translate.CanonicalPrincipalNodeToJavaExt_c
      - jif.translate.CanonicalTypeNodeToJavaExt_c
      - jif.translate.CaseToJavaExt_c
      - jif.translate.CastToJavaExt_c
      - jif.translate.CatchToJavaExt_c
      - jif.translate.ClassBodyToJavaExt_c
      - jif.translate.ClassDeclToJavaExt_c
      - jif.translate.ConditionalToJavaExt_c
      - jif.translate.ConstructorCallToJavaExt_c
      - jif.translate.ConstructorDeclToJavaExt_c
      - jif.translate.DoToJavaExt_c
      - jif.translate.DowngradeExprToJavaExt_c
      - jif.translate.DowngradeStmtToJavaExt_c
      - jif.translate.EmptyToJavaExt_c
      - jif.translate.EvalToJavaExt_c
      - jif.translate.ExprToJavaExt_c
        - jif.translate.BinaryToJavaExt_c
        - jif.translate.CallToJavaExt_c
        - jif.translate.FieldToJavaExt_c
        - jif.translate.LocalToJavaExt_c
        - jif.translate.NewToJavaExt_c
      - jif.translate.FieldAssignToJavaExt_c
      - jif.translate.FieldDeclToJavaExt_c
      - jif.translate.FormalToJavaExt_c
      - jif.translate.ForToJavaExt_c
      - jif.translate.IdToJavaExt_c
      - jif.translate.IfToJavaExt_c
      - jif.translate.ImportToJavaExt_c
      - jif.translate.InitializerToJavaExt_c
      - jif.translate.InstanceOfToJavaExt_c
      - jif.translate.LabeledToJavaExt_c
      - jif.translate.LabelExprToJavaExt_c
        - jif.translate.NewLabelToJavaExt_c
      - jif.translate.LitToJavaExt_c
      - jif.translate.LocalAssignToJavaExt_c
      - jif.translate.LocalClassDeclToJavaExt_c (implements jif.translate.ToJavaExt)
      - jif.translate.LocalDeclToJavaExt_c
      - jif.translate.MethodDeclToJavaExt_c
      - jif.translate.NewArrayToJavaExt_c
      - jif.translate.PackageNodeToJavaExt_c
      - jif.translate.PrincipalExprToJavaExt_c
      - jif.translate.ReturnToJavaExt_c
      - jif.translate.SourceFileToJavaExt_c
      - jif.translate.SpecialToJavaExt_c
      - jif.translate.SwitchBlockToJavaExt_c
      - jif.translate.SwitchToJavaExt_c
      - jif.translate.SynchronizedToJavaExt_c
      - jif.translate.ThrowToJavaExt_c
      - jif.translate.TryToJavaExt_c
      - jif.translate.UnaryToJavaExt_c
      - jif.translate.WhileToJavaExt_c
  - jif.translate.LabelLeAssertionToJavaExpr_c (implements jif.translate.LabelLeAssertionToJavaExpr)
  - jif.translate.LabelToJavaExpr_c (implements jif.translate.LabelToJavaExpr)
    - jif.translate.CannotLabelToJavaExpr_c
    - jif.translate.DynamicLabelToJavaExpr_c
    - jif.translate.JoinLabelToJavaExpr_c
    - jif.translate.MeetLabelToJavaExpr_c
    - jif.translate.PairLabelToJavaExpr_c
    - jif.translate.ProviderLabelToJavaExpr_c
  - polyglot.visit.NodeVisitor (implements polyglot.util.Copy<T>)
    - polyglot.visit.HaltingVisitor
      - polyglot.visit.ErrorHandlingVisitor
        - polyglot.visit.ContextVisitor
          - jif.translate.JifToJavaRewriter
  - jif.translate.ParamToJavaExpr_c (implements jif.translate.LabelToJavaExpr, jif.translate.PrincipalToJavaExpr)
  - jif.translate.PrincipalToJavaExpr_c (implements jif.translate.PrincipalToJavaExpr)
    - jif.translate.BottomPrincipalToJavaExpr_c
    - jif.translate.CannotPrincipalToJavaExpr_c
    - jif.translate.ConjunctivePrincipalToJavaExpr_c
    - jif.translate.DisjunctivePrincipalToJavaExpr_c
    - jif.translate.DynamicPrincipalToJavaExpr_c
    - jif.translate.ExternalPrincipalToJavaExpr_c
    - jif.translate.TopPrincipalToJavaExpr_c

## Interface Hierarchy

- java.lang.Cloneable
  - polyglot.util.Copy<T>
    - polyglot.ast.Ext (also extends polyglot.ast.NodeOps, java.io.Serializable)
      - jif.translate.ToJavaExt
- polyglot.ast.NodeOps
  - polyglot.ast.Ext (also extends polyglot.util.Copy<T>, java.io.Serializable)
    - jif.translate.ToJavaExt
- java.io.Serializable
  - jif.translate.ActsForConstraintToJavaExpr
  - polyglot.ast.Ext (also extends polyglot.util.Copy<T>, polyglot.ast.NodeOps)
    - jif.translate.ToJavaExt
  - jif.translate.LabelLeAssertionToJavaExpr
  - jif.translate.LabelToJavaExpr
  - jif.translate.PrincipalToJavaExpr