Overview | Package | Class | Tree | Deprecated | Index | Help
PREV NEXT | FRAMES NO FRAMES

## Hierarchy For All Packages

Package Hierarchies:
  jif, jif.ast, jif.bin, jif.extension, jif.lang, jif.net, jif.parse, jif.runtime, jif.translate, jif.types, jif.types.hierarchy, jif.types.label, jif.types.principal, jif.visit

## Class Hierarchy

- java.lang.Object
  - polyglot.ast.AbstractDelFactory_c (implements polyglot.ast.DelFactory)
    - jif.ast.JifDelFactory_c (implements jif.ast.JifDelFactory)
  - polyglot.frontend.AbstractExtensionInfo (implements polyglot.frontend.ExtensionInfo)
    - polyglot.frontend.ParserlessJLExtensionInfo
      - polyglot.frontend.JLExtensionInfo
        - jif.ExtensionInfo
        - jif.OutputExtensionInfo
  - polyglot.ast.AbstractExtFactory_c (implements polyglot.ast.ExtFactory)
    - jif.ast.AbstractJifExtFactory_c (implements jif.ast.JifExtFactory)
      - jif.ast.JifExtFactory_c
  - polyglot.frontend.goals.AbstractGoal (implements polyglot.frontend.goals.Goal)
    - polyglot.frontend.goals.SourceFileGoal
      - jif.FieldLabelInferenceGoal
      - jif.LabelCheckGoal
  - polyglot.ast.AbstractNodeFactory_c (implements polyglot.ast.NodeFactory)
    - polyglot.ast.NodeFactory_c
      - jif.ast.JifNodeFactory_c (implements jif.ast.JifNodeFactory)
  - polyglot.frontend.AbstractPass (implements polyglot.frontend.Pass)
    - jif.visit.LabelCheckPass
  - jif.lang.AbstractPolicy (implements jif.lang.Policy)
    - jif.lang.JoinPolicy (implements jif.lang.Policy)
      - jif.lang.JoinConfPolicy (implements jif.lang.ConfPolicy)
      - jif.lang.JoinIntegPolicy (implements jif.lang.IntegPolicy)
    - jif.lang.MeetPolicy (implements jif.lang.Policy)
      - jif.lang.MeetConfPolicy (implements jif.lang.ConfPolicy)
      - jif.lang.MeetIntegPolicy (implements jif.lang.IntegPolicy)
    - jif.lang.ReaderPolicy (implements jif.lang.ConfPolicy)
    - jif.lang.WriterPolicy (implements jif.lang.IntegPolicy)
  - jif.lang.AbstractPrincipal (implements jif.lang.Principal)
  - jif.types.AbstractSolver (implements jif.types.Solver)
    - jif.types.SolverGLB
  - jif.types.AbstractSolver.EquationQueue
  - jif.types.AbstractSolver.Frame
  - jif.types.label.AccessPath (implements polyglot.util.Copy, java.io.Serializable)
    - jif.types.label.AccessPathField
    - jif.types.label.AccessPathRoot
      - jif.types.label.AccessPathClass
      - jif.types.label.AccessPathConstant
      - jif.types.label.AccessPathLocal
      - jif.types.label.AccessPathThis
      - jif.types.label.AccessPathUninterpreted
  - jif.lang.ActsForProof
    - jif.lang.DelegatesProof
    - jif.lang.FromDisjunctProof
    - jif.lang.ReflexiveProof
    - jif.lang.ToConjunctProof
    - jif.lang.TransitiveProof
  - jif.parse.Amb
    - jif.parse.Access
    - jif.parse.Array
    - jif.parse.Inst
    - jif.parse.InstOrAccess
    - jif.parse.LabeledExpr
    - jif.parse.Name
  - jif.extension.CallHelper
  - jif.lang.Capability
  - jif.lang.Closure_JIF_IMPL
  - jif.lang.ConjunctivePrincipal (implements jif.lang.Principal)
  - jif.types.Constraint
    - jif.types.LabelConstraint
    - jif.types.PrincipalConstraint
  - jif.types.ConstraintMessage
  - jif.extension.ConstructorChecker
  - polyglot.types.Context_c (implements polyglot.types.Context)
    - jif.types.JifContext_c (implements jif.types.JifContext)
  - polyglot.visit.DataFlow.Item
    - jif.visit.IntegerBoundsChecker.DataFlowItem
  - jif.parse.Declarator
  - polyglot.ast.Disamb_c (implements polyglot.ast.Disamb)
    - jif.ast.JifDisamb_c
  - jif.lang.DisjunctivePrincipal (implements jif.lang.Principal)
  - polyglot.util.Enum (implements polyglot.util.Internable, java.io.Serializable)
    - jif.types.Constraint.Kind
    - jif.types.ParamInstance.Kind
    - jif.types.Path.FixedPath (implements jif.types.Path)
  - jif.types.Equation
    - jif.types.LabelEquation
    - jif.types.PrincipalEquation
  - jif.types.ExceptionPath_c (implements jif.types.ExceptionPath)
  - polyglot.ast.Ext_c (implements polyglot.ast.Ext)
    - jif.ast.Jif_c (implements jif.ast.Jif)
      - 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
        - 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.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.JL_c (implements polyglot.ast.JL)
      - jif.extension.JifJL_c
        - jif.extension.JifArrayAccessAssignDel
        - jif.extension.JifArrayAccessDel
        - jif.extension.JifArrayInitDel
        - jif.extension.JifBinaryDel
        - jif.extension.JifCallDel
        - jif.extension.JifCastDel (implements jif.extension.JifPreciseClassDel)
        - jif.extension.JifCatchDel
        - jif.extension.JifClassDeclDel
        - jif.extension.JifConstructorCallDel
        - jif.extension.JifFieldAssignDel
        - 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.JifProcedureDeclDel
          - jif.extension.JifMethodDeclDel
        - jif.extension.JifThrowDel
        - jif.extension.JifTypeNodeDel
    - 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.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.ExtensionInfo.JifJobExt (implements polyglot.frontend.JobExt)
  - jif.runtime.FileSystem
  - jif.types.FixedSignature (implements jif.types.DefaultSignature)
  - jif.types.GotoPath_c (implements jif.types.Path)
  - jif.visit.IntegerBoundsChecker.Bound
    - jif.visit.IntegerBoundsChecker.ArrayLengthBound
    - jif.visit.IntegerBoundsChecker.LocalBound
  - jif.visit.IntegerBoundsChecker.Bounds
  - jif.visit.IntegerBoundsChecker.Interval
  - jif.ast.JifInstantiator
  - jif.types.JifSubst_c.ConstraintXform (implements polyglot.util.Transformation)
  - jif.types.JifSubst_c.LabelXform (implements polyglot.util.Transformation)
  - jif.types.JifSubst_c.PrincipalXform (implements polyglot.util.Transformation)
  - jif.ast.JifUtil
  - jif.visit.LabelChecker (implements polyglot.util.Copy)
  - jif.types.hierarchy.LabelEnv_c (implements jif.types.hierarchy.LabelEnv)
  - 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.types.JifSubst_c.SubstLabelSubst (implements java.io.Serializable)
    - jif.extension.JifTypeNodeDel.StaticLabelChecker
    - jif.types.label.VariableGatherer
  - 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.extension.LabelTypeCheckUtil
  - jif.lang.LabelUtil
  - jif.parse.Lexer_c (implements polyglot.lex.Lexer)
  - java_cup.runtime.lr_parser
    - polyglot.parse.BaseParser
      - polyglot.parse.Grm
        - jif.parse.Grm
  - jif.types.NamedLabel
  - jif.runtime.NativePrincipal (implements jif.lang.Principal)
  - polyglot.ast.Node_c (implements polyglot.ast.Node)
    - jif.ast.AmbExprParam_c (implements jif.ast.AmbExprParam)
    - jif.ast.AmbParam_c (implements jif.ast.AmbParam)
    - jif.ast.AmbParamTypeOrAccess_c (implements jif.ast.AmbParamTypeOrAccess)
    - jif.ast.ConstraintNode_c (implements jif.ast.ConstraintNode)
      - jif.ast.ActsForConstraintNode_c (implements jif.ast.ActsForConstraintNode)
      - jif.ast.AuthConstraintNode_c (implements jif.ast.AuthConstraintNode)
      - jif.ast.AutoEndorseConstraintNode_c (implements jif.ast.AutoEndorseConstraintNode)
      - jif.ast.CallerConstraintNode_c (implements jif.ast.CallerConstraintNode)
      - jif.ast.CanonicalConstraintNode_c (implements jif.ast.CanonicalConstraintNode)
      - jif.ast.LabelLeAssertionNode_c (implements jif.ast.LabelLeAssertionNode)
    - jif.ast.LabelNode_c (implements jif.ast.LabelNode)
      - jif.ast.AmbLabelNode_c (implements polyglot.ast.Ambiguous, jif.ast.LabelNode)
        - jif.ast.AmbDynamicLabelNode_c (implements jif.ast.AmbDynamicLabelNode)
        - jif.ast.AmbThisLabelNode_c (implements jif.ast.AmbThisLabelNode)
        - jif.ast.AmbVarLabelNode_c (implements jif.ast.AmbVarLabelNode)
        - jif.ast.JoinLabelNode_c (implements jif.ast.JoinLabelNode)
        - jif.ast.MeetLabelNode_c (implements jif.ast.MeetLabelNode)
      - jif.ast.CanonicalLabelNode_c (implements jif.ast.CanonicalLabelNode)
    - jif.ast.ParamDecl_c (implements jif.ast.ParamDecl)
    - jif.ast.PolicyNode_c (implements jif.ast.PolicyNode)
      - jif.ast.ReaderPolicyNode_c
      - jif.ast.WriterPolicyNode_c
    - polyglot.ast.Term_c (implements polyglot.ast.Term)
      - polyglot.ast.ClassDecl_c (implements polyglot.ast.ClassDecl)
        - jif.ast.JifClassDecl_c (implements jif.ast.JifClassDecl)
      - polyglot.ast.ConstructorDecl_c (implements polyglot.ast.ConstructorDecl)
        - jif.ast.JifConstructorDecl_c (implements jif.ast.JifConstructorDecl)
      - polyglot.ast.Expr_c (implements polyglot.ast.Expr)
        - jif.ast.AmbNewArray_c (implements jif.ast.AmbNewArray)
        - polyglot.ast.Assign_c (implements polyglot.ast.Assign)
          - polyglot.ast.ArrayAccessAssign_c (implements polyglot.ast.ArrayAccessAssign)
            - jif.ast.JifArrayAccessAssign_c
        - polyglot.ast.Binary_c (implements polyglot.ast.Binary)
          - jif.ast.JifBinary_c (implements polyglot.ast.Binary)
        - polyglot.ast.Call_c (implements polyglot.ast.Call)
          - jif.ast.JifCall_c
        - jif.ast.DowngradeExpr_c (implements jif.ast.DowngradeExpr)
          - jif.ast.DeclassifyExpr_c (implements jif.ast.DeclassifyExpr)
          - jif.ast.EndorseExpr_c (implements jif.ast.EndorseExpr)
        - jif.ast.LabelExpr_c (implements jif.ast.LabelExpr)
          - jif.ast.NewLabel_c (implements jif.ast.NewLabel)
        - polyglot.ast.New_c (implements polyglot.ast.New)
          - jif.ast.JifNew_c (implements polyglot.ast.New)
        - jif.ast.PrincipalExpr_c (implements jif.ast.PrincipalExpr)
        - jif.ast.PrincipalNode_c (implements jif.ast.PrincipalNode)
          - jif.ast.AmbJunctivePrincipalNode_c (implements jif.ast.AmbJunctivePrincipalNode)
          - jif.ast.AmbPrincipalNode_c (implements jif.ast.AmbPrincipalNode)
          - jif.ast.CanonicalPrincipalNode_c (implements jif.ast.CanonicalPrincipalNode)
        - jif.parse.Wrapper
      - polyglot.ast.Formal_c (implements polyglot.ast.Formal)
        - jif.ast.JifFormal_c
      - polyglot.ast.MethodDecl_c (implements polyglot.ast.MethodDecl)
        - jif.ast.JifMethodDecl_c (implements jif.ast.JifMethodDecl)
      - polyglot.ast.Stmt_c (implements polyglot.ast.Stmt)
        - polyglot.ast.Catch_c (implements polyglot.ast.Catch)
          - jif.ast.JifCatch_c
        - jif.ast.DowngradeStmt_c (implements jif.ast.DowngradeStmt)
          - jif.ast.DeclassifyStmt_c (implements jif.ast.DeclassifyStmt)
          - jif.ast.EndorseStmt_c (implements jif.ast.EndorseStmt)
            - jif.ast.CheckedEndorseStmt_c (implements jif.ast.CheckedEndorseStmt)
        - polyglot.ast.LocalDecl_c (implements polyglot.ast.LocalDecl)
          - jif.ast.JifLocalDecl_c
      - polyglot.ast.TypeNode_c (implements polyglot.ast.TypeNode)
        - polyglot.ast.ArrayTypeNode_c (implements polyglot.ast.ArrayTypeNode)
          - jif.ast.ConstArrayTypeNode_c (implements jif.ast.ConstArrayTypeNode)
        - polyglot.ast.CanonicalTypeNode_c (implements polyglot.ast.CanonicalTypeNode)
          - jif.ast.JifCanonicalTypeNode_c (implements jif.ast.JifCanonicalTypeNode)
        - jif.ast.InstTypeNode_c (implements polyglot.ast.Ambiguous, jif.ast.InstTypeNode)
        - jif.ast.LabeledTypeNode_c (implements polyglot.ast.Ambiguous, jif.ast.LabeledTypeNode)
  - polyglot.visit.NodeVisitor (implements polyglot.util.Copy)
    - jif.visit.ConstChecker
    - polyglot.visit.HaltingVisitor
      - polyglot.visit.ErrorHandlingVisitor
        - polyglot.visit.ContextVisitor
          - polyglot.visit.DisambiguationDriver
            - polyglot.visit.TypeChecker
              - jif.visit.JifTypeChecker
          - jif.visit.FieldLabelResolver
          - jif.visit.JifLabelSubst
          - jif.translate.JifToJavaRewriter
        - polyglot.visit.DataFlow
          - polyglot.visit.InitChecker
            - jif.visit.JifInitChecker
          - jif.visit.IntegerBoundsChecker
          - jif.visit.NotNullChecker
          - jif.visit.PreciseClassChecker
    - jif.visit.LabelSubstitutionVisitor
    - jif.parse.UnwrapVisitor
  - polyglot.main.Options
    - jif.JifOptions
  - jif.lang.PairLabel (implements jif.lang.Label)
  - jif.translate.ParamToJavaExpr_c (implements jif.translate.LabelToJavaExpr, jif.translate.PrincipalToJavaExpr)
  - jif.types.PathMap
  - polyglot.visit.PrettyPrinter
    - polyglot.visit.Translator (implements polyglot.util.Copy)
      - polyglot.visit.TypedTranslator
        - jif.visit.JifTranslator
  - jif.lang.Principal_JIF_IMPL
  - jif.types.hierarchy.PrincipalHierarchy
  - jif.lang.PrincipalSet
  - 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
  - jif.lang.PrincipalUtil
  - jif.runtime.Runtime
  - polyglot.frontend.Scheduler
    - polyglot.frontend.JLScheduler
      - jif.JifScheduler
      - jif.OutputExtensionInfo.OutputScheduler
  - polyglot.types.SchedulerClassInitializer (implements polyglot.types.LazyClassInitializer)
    - jif.types.JifLazyClassInitializer_c
  - jif.bin.SigMerge
  - jif.net.SocketUtil
  - polyglot.frontend.Source
    - polyglot.frontend.FileSource
      - jif.parse.UTF8FileSource
  - polyglot.ext.param.types.Subst_c (implements polyglot.ext.param.types.Subst)
    - jif.types.JifSubst_c (implements jif.types.JifSubst)
  - jif.extension.SubtypeChecker
  - jif.parse.sym
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - polyglot.types.SemanticException
        - jif.types.SemanticDetailedException
  - jif.Topics
  - polyglot.types.TypeObject_c (implements polyglot.types.TypeObject)
    - jif.types.ActsForConstraint_c (implements jif.types.ActsForConstraint)
    - jif.types.AuthConstraint_c (implements jif.types.AuthConstraint)
    - jif.types.AutoEndorseConstraint_c (implements jif.types.AutoEndorseConstraint)
    - jif.types.CallerConstraint_c (implements jif.types.CallerConstraint)
    - jif.types.label.Label_c (implements jif.types.label.Label)
      - jif.types.label.ArgLabel_c (implements jif.types.label.ArgLabel)
      - jif.types.label.CovariantParamLabel_c (implements jif.types.label.CovariantParamLabel)
      - jif.types.label.DynamicLabel_c (implements jif.types.label.DynamicLabel)
      - jif.types.label.JoinLabel_c (implements jif.types.label.JoinLabel)
      - jif.types.label.MeetLabel_c (implements jif.types.label.MeetLabel)
      - jif.types.label.NotTaken_c (implements jif.types.label.NotTaken)
      - jif.types.label.PairLabel_c (implements jif.types.label.PairLabel)
      - jif.types.label.ParamLabel_c (implements jif.types.label.ParamLabel)
      - jif.types.label.ThisLabel_c (implements jif.types.label.ThisLabel)
      - jif.types.label.UnknownLabel_c (implements jif.types.label.UnknownLabel)
      - jif.types.label.VarLabel_c (implements jif.types.label.VarLabel)
      - jif.types.label.WritersToReadersLabel_c (implements jif.types.label.WritersToReadersLabel)
    - jif.types.LabelLeAssertion_c (implements jif.types.LabelLeAssertion)
    - polyglot.ext.param.types.PClass_c (implements polyglot.ext.param.types.PClass)
      - polyglot.ext.param.types.MuPClass_c (implements polyglot.ext.param.types.MuPClass)
        - jif.types.JifMuPClass_c
    - jif.types.label.Policy_c (implements jif.types.label.Policy)
      - jif.types.label.ConfProjectionPolicy_c (implements jif.types.label.ConfPolicy)
      - jif.types.label.IntegProjectionPolicy_c (implements jif.types.label.IntegPolicy)
      - jif.types.label.JoinPolicy_c
        - jif.types.label.JoinConfPolicy_c (implements jif.types.label.ConfPolicy)
        - jif.types.label.JoinIntegPolicy_c (implements jif.types.label.IntegPolicy)
      - jif.types.label.MeetPolicy_c
        - jif.types.label.MeetConfPolicy_c (implements jif.types.label.ConfPolicy)
        - jif.types.label.MeetIntegPolicy_c (implements jif.types.label.IntegPolicy)
      - jif.types.label.ReaderPolicy_c (implements jif.types.label.ReaderPolicy)
      - jif.types.label.WriterPolicy_c (implements jif.types.label.WriterPolicy)
    - jif.types.principal.Principal_c (implements jif.types.principal.Principal)
      - jif.types.principal.BottomPrincipal_c (implements jif.types.principal.BottomPrincipal)
      - jif.types.principal.ConjunctivePrincipal_c (implements jif.types.principal.ConjunctivePrincipal)
      - jif.types.principal.DisjunctivePrincipal_c (implements jif.types.principal.DisjunctivePrincipal)
      - jif.types.principal.DynamicPrincipal_c (implements jif.types.principal.DynamicPrincipal)
      - jif.types.principal.ExternalPrincipal_c (implements jif.types.principal.ExternalPrincipal)
      - jif.types.principal.ParamPrincipal_c (implements jif.types.principal.ParamPrincipal)
      - jif.types.principal.TopPrincipal_c (implements jif.types.principal.TopPrincipal)
      - jif.types.principal.UnknownPrincipal_c (implements jif.types.principal.UnknownPrincipal)
      - jif.types.principal.VarPrincipal_c (implements jif.types.principal.VarPrincipal)
    - polyglot.types.ProcedureInstance_c (implements polyglot.types.ProcedureInstance)
      - polyglot.types.ConstructorInstance_c (implements polyglot.types.ConstructorInstance)
        - jif.types.JifConstructorInstance_c (implements jif.types.JifConstructorInstance)
      - polyglot.types.MethodInstance_c (implements polyglot.types.MethodInstance)
        - jif.types.JifMethodInstance_c (implements jif.types.JifMethodInstance)
    - polyglot.types.Type_c (implements polyglot.types.Type)
      - jif.types.LabeledType_c (implements jif.types.LabeledType)
      - polyglot.types.ReferenceType_c (implements polyglot.types.ReferenceType)
        - polyglot.types.ArrayType_c (implements polyglot.types.ArrayType)
          - jif.types.ConstArrayType_c (implements jif.types.ConstArrayType)
        - polyglot.types.ClassType_c (implements polyglot.types.ClassType)
          - polyglot.types.ParsedClassType_c (implements polyglot.types.ParsedClassType)
            - jif.types.JifParsedPolyType_c (implements jif.types.JifParsedPolyType)
          - polyglot.ext.param.types.SubstClassType_c (implements polyglot.ext.param.types.SubstType)
            - jif.types.JifSubstClassType_c (implements jif.types.JifSubstType)
    - jif.types.UnknownParam_c (implements jif.types.UnknownParam)
    - polyglot.types.VarInstance_c (implements polyglot.types.VarInstance)
      - polyglot.types.FieldInstance_c (implements polyglot.types.FieldInstance)
        - jif.types.JifFieldInstance_c (implements jif.types.JifFieldInstance)
      - polyglot.types.LocalInstance_c (implements polyglot.types.LocalInstance)
        - jif.types.JifLocalInstance_c (implements jif.types.JifLocalInstance)
      - jif.types.ParamInstance_c (implements jif.types.ParamInstance)
      - jif.types.PrincipalInstance_c (implements jif.types.PrincipalInstance)
  - jif.types.TypeSubstitutor
    - jif.extension.JifFieldDeclExt_c.InvarianceLabelSubstr
    - jif.extension.JifFormalExt.FormalVarianceLabelSubstr
  - polyglot.types.TypeSystem_c (implements polyglot.types.TypeSystem)
    - polyglot.ext.param.types.ParamTypeSystem_c (implements polyglot.ext.param.types.ParamTypeSystem)
      - jif.types.JifTypeSystem_c (implements jif.types.JifTypeSystem)
  - jif.types.VarMap
  - jif.types.VarSignature (implements jif.types.DefaultSignature)
  - polyglot.main.Version
    - jif.Version

## Interface Hierarchy

- java.lang.Cloneable
  - polyglot.util.Copy
    - polyglot.types.Context (also extends polyglot.types.Resolver)
      - jif.types.JifContext
    - polyglot.ast.Ext
      - jif.ast.Jif
        - jif.extension.JifFieldDeclExt
        - jif.extension.JifProcedureDeclExt
      - jif.extension.JifStmtExt
      - jif.translate.ToJavaExt
    - polyglot.ast.JL (also extends polyglot.ast.NodeOps)
      - polyglot.ast.Node (also extends polyglot.util.Copy)
        - polyglot.ast.Ambiguous
          - jif.ast.AmbDynamicLabelNode (also extends jif.ast.LabelNode)
          - jif.ast.AmbNewArray (also extends polyglot.ast.Expr)
          - jif.ast.AmbParam (also extends jif.ast.ParamNode)
            - jif.ast.AmbExprParam
          - jif.ast.AmbParamTypeOrAccess (also extends polyglot.ast.Receiver)
          - jif.ast.AmbPrincipalNode (also extends jif.ast.PrincipalNode)
            - jif.ast.AmbJunctivePrincipalNode
          - jif.ast.AmbThisLabelNode (also extends jif.ast.LabelNode)
          - jif.ast.AmbVarLabelNode (also extends jif.ast.LabelNode)
          - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.TypeNode)
            - jif.ast.ConstArrayTypeNode
        - jif.ast.ConstraintNode
          - jif.ast.ActsForConstraintNode
          - jif.ast.AuthConstraintNode
          - jif.ast.AutoEndorseConstraintNode
          - jif.ast.CallerConstraintNode
          - jif.ast.CanonicalConstraintNode
          - jif.ast.LabelLeAssertionNode
        - jif.ast.ParamDecl
        - jif.ast.ParamNode
          - jif.ast.AmbDynamicLabelNode (also extends polyglot.ast.Ambiguous, jif.ast.LabelNode)
          - jif.ast.AmbExprParam
          - jif.ast.AmbJunctivePrincipalNode
          - jif.ast.AmbParam (also extends polyglot.ast.Ambiguous)
            - jif.ast.AmbExprParam
          - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous, jif.ast.PrincipalNode)
            - jif.ast.AmbJunctivePrincipalNode
          - jif.ast.AmbThisLabelNode (also extends polyglot.ast.Ambiguous, jif.ast.LabelNode)
          - jif.ast.AmbVarLabelNode (also extends polyglot.ast.Ambiguous, jif.ast.LabelNode)
          - jif.ast.CanonicalLabelNode
          - jif.ast.CanonicalPrincipalNode
          - jif.ast.JoinLabelNode
          - jif.ast.LabelNode
            - jif.ast.AmbDynamicLabelNode (also extends polyglot.ast.Ambiguous)
            - jif.ast.AmbThisLabelNode (also extends polyglot.ast.Ambiguous)
            - jif.ast.AmbVarLabelNode (also extends polyglot.ast.Ambiguous)
            - jif.ast.CanonicalLabelNode
            - jif.ast.JoinLabelNode
            - jif.ast.MeetLabelNode
          - jif.ast.MeetLabelNode
          - jif.ast.PrincipalNode (also extends polyglot.ast.Expr)
            - jif.ast.AmbJunctivePrincipalNode
            - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous)
              - jif.ast.AmbJunctivePrincipalNode
            - jif.ast.CanonicalPrincipalNode
        - jif.ast.PolicyNode
        - polyglot.ast.Prefix
          - polyglot.ast.QualifierNode
            - polyglot.ast.TypeNode (also extends polyglot.ast.Receiver, polyglot.ast.Term)
              - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.Ambiguous)
                - jif.ast.ConstArrayTypeNode
              - polyglot.ast.CanonicalTypeNode
                - jif.ast.JifCanonicalTypeNode
              - jif.ast.InstTypeNode
              - jif.ast.LabeledTypeNode
          - polyglot.ast.Receiver (also extends polyglot.ast.Typed)
            - jif.ast.AmbParamTypeOrAccess (also extends polyglot.ast.Ambiguous)
            - polyglot.ast.Expr (also extends polyglot.ast.Term)
              - jif.ast.AmbNewArray (also extends polyglot.ast.Ambiguous)
              - jif.ast.DowngradeExpr
                - jif.ast.DeclassifyExpr
                - jif.ast.EndorseExpr
              - jif.ast.LabelExpr
                - jif.ast.NewLabel
              - jif.ast.PrincipalExpr
              - jif.ast.PrincipalNode (also extends jif.ast.ParamNode)
                - jif.ast.AmbJunctivePrincipalNode
                - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous)
                  - jif.ast.AmbJunctivePrincipalNode
                - jif.ast.CanonicalPrincipalNode
            - polyglot.ast.TypeNode (also extends polyglot.ast.QualifierNode, polyglot.ast.Term)
              - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.Ambiguous)
                - jif.ast.ConstArrayTypeNode
              - polyglot.ast.CanonicalTypeNode
                - jif.ast.JifCanonicalTypeNode
              - jif.ast.InstTypeNode
              - jif.ast.LabeledTypeNode
        - polyglot.ast.Term
          - polyglot.ast.ClassDecl (also extends polyglot.ast.ClassMember, polyglot.ast.TopLevelDecl)
            - jif.ast.JifClassDecl
          - polyglot.ast.ClassMember
            - polyglot.ast.ClassDecl (also extends polyglot.ast.Term, polyglot.ast.TopLevelDecl)
              - jif.ast.JifClassDecl
            - polyglot.ast.CodeDecl (also extends polyglot.ast.CodeBlock)
              - polyglot.ast.ProcedureDecl
                - polyglot.ast.ConstructorDecl
                  - jif.ast.JifConstructorDecl (also extends jif.ast.JifProcedureDecl)
                - jif.ast.JifProcedureDecl
                  - jif.ast.JifConstructorDecl (also extends polyglot.ast.ConstructorDecl)
                  - jif.ast.JifMethodDecl (also extends polyglot.ast.MethodDecl)
                - polyglot.ast.MethodDecl
                  - jif.ast.JifMethodDecl (also extends jif.ast.JifProcedureDecl)
          - polyglot.ast.CodeNode
            - polyglot.ast.CodeBlock
              - polyglot.ast.CodeDecl (also extends polyglot.ast.ClassMember)
                - polyglot.ast.ProcedureDecl
                  - polyglot.ast.ConstructorDecl
                    - jif.ast.JifConstructorDecl (also extends jif.ast.JifProcedureDecl)
                  - jif.ast.JifProcedureDecl
                    - jif.ast.JifConstructorDecl (also extends polyglot.ast.ConstructorDecl)
                    - jif.ast.JifMethodDecl (also extends polyglot.ast.MethodDecl)
                  - polyglot.ast.MethodDecl
                    - jif.ast.JifMethodDecl (also extends jif.ast.JifProcedureDecl)
          - polyglot.ast.Expr (also extends polyglot.ast.Receiver)
            - jif.ast.AmbNewArray (also extends polyglot.ast.Ambiguous)
            - jif.ast.DowngradeExpr
              - jif.ast.DeclassifyExpr
              - jif.ast.EndorseExpr
            - jif.ast.LabelExpr
              - jif.ast.NewLabel
            - jif.ast.PrincipalExpr
            - jif.ast.PrincipalNode (also extends jif.ast.ParamNode)
              - jif.ast.AmbJunctivePrincipalNode
              - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous)
                - jif.ast.AmbJunctivePrincipalNode
              - jif.ast.CanonicalPrincipalNode
          - polyglot.ast.Stmt
            - polyglot.ast.CompoundStmt
              - jif.ast.DowngradeStmt
                - jif.ast.CheckedEndorseStmt
                - jif.ast.DeclassifyStmt
                - jif.ast.EndorseStmt
                  - jif.ast.CheckedEndorseStmt
          - polyglot.ast.TypeNode (also extends polyglot.ast.QualifierNode, polyglot.ast.Receiver)
            - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.Ambiguous)
              - jif.ast.ConstArrayTypeNode
            - polyglot.ast.CanonicalTypeNode
              - jif.ast.JifCanonicalTypeNode
            - jif.ast.InstTypeNode
            - jif.ast.LabeledTypeNode
        - polyglot.ast.TopLevelDecl
          - polyglot.ast.ClassDecl (also extends polyglot.ast.ClassMember, polyglot.ast.Term)
            - jif.ast.JifClassDecl
    - polyglot.ast.Node (also extends polyglot.ast.JL)
      - polyglot.ast.Ambiguous
        - jif.ast.AmbDynamicLabelNode (also extends jif.ast.LabelNode)
        - jif.ast.AmbNewArray (also extends polyglot.ast.Expr)
        - jif.ast.AmbParam (also extends jif.ast.ParamNode)
          - jif.ast.AmbExprParam
        - jif.ast.AmbParamTypeOrAccess (also extends polyglot.ast.Receiver)
        - jif.ast.AmbPrincipalNode (also extends jif.ast.PrincipalNode)
          - jif.ast.AmbJunctivePrincipalNode
        - jif.ast.AmbThisLabelNode (also extends jif.ast.LabelNode)
        - jif.ast.AmbVarLabelNode (also extends jif.ast.LabelNode)
        - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.TypeNode)
          - jif.ast.ConstArrayTypeNode
      - jif.ast.ConstraintNode
        - jif.ast.ActsForConstraintNode
        - jif.ast.AuthConstraintNode
        - jif.ast.AutoEndorseConstraintNode
        - jif.ast.CallerConstraintNode
        - jif.ast.CanonicalConstraintNode
        - jif.ast.LabelLeAssertionNode
      - jif.ast.ParamDecl
      - jif.ast.ParamNode
        - jif.ast.AmbDynamicLabelNode (also extends polyglot.ast.Ambiguous, jif.ast.LabelNode)
        - jif.ast.AmbExprParam
        - jif.ast.AmbJunctivePrincipalNode
        - jif.ast.AmbParam (also extends polyglot.ast.Ambiguous)
          - jif.ast.AmbExprParam
        - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous, jif.ast.PrincipalNode)
          - jif.ast.AmbJunctivePrincipalNode
        - jif.ast.AmbThisLabelNode (also extends polyglot.ast.Ambiguous, jif.ast.LabelNode)
        - jif.ast.AmbVarLabelNode (also extends polyglot.ast.Ambiguous, jif.ast.LabelNode)
        - jif.ast.CanonicalLabelNode
        - jif.ast.CanonicalPrincipalNode
        - jif.ast.JoinLabelNode
        - jif.ast.LabelNode
          - jif.ast.AmbDynamicLabelNode (also extends polyglot.ast.Ambiguous)
          - jif.ast.AmbThisLabelNode (also extends polyglot.ast.Ambiguous)
          - jif.ast.AmbVarLabelNode (also extends polyglot.ast.Ambiguous)
          - jif.ast.CanonicalLabelNode
          - jif.ast.JoinLabelNode
          - jif.ast.MeetLabelNode
        - jif.ast.MeetLabelNode
        - jif.ast.PrincipalNode (also extends polyglot.ast.Expr)
          - jif.ast.AmbJunctivePrincipalNode
          - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous)
            - jif.ast.AmbJunctivePrincipalNode
          - jif.ast.CanonicalPrincipalNode
      - jif.ast.PolicyNode
      - polyglot.ast.Prefix
        - polyglot.ast.QualifierNode
          - polyglot.ast.TypeNode (also extends polyglot.ast.Receiver, polyglot.ast.Term)
            - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.Ambiguous)
              - jif.ast.ConstArrayTypeNode
            - polyglot.ast.CanonicalTypeNode
              - jif.ast.JifCanonicalTypeNode
            - jif.ast.InstTypeNode
            - jif.ast.LabeledTypeNode
        - polyglot.ast.Receiver (also extends polyglot.ast.Typed)
          - jif.ast.AmbParamTypeOrAccess (also extends polyglot.ast.Ambiguous)
          - polyglot.ast.Expr (also extends polyglot.ast.Term)
            - jif.ast.AmbNewArray (also extends polyglot.ast.Ambiguous)
            - jif.ast.DowngradeExpr
              - jif.ast.DeclassifyExpr
              - jif.ast.EndorseExpr
            - jif.ast.LabelExpr
              - jif.ast.NewLabel
            - jif.ast.PrincipalExpr
            - jif.ast.PrincipalNode (also extends jif.ast.ParamNode)
              - jif.ast.AmbJunctivePrincipalNode
              - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous)
                - jif.ast.AmbJunctivePrincipalNode
              - jif.ast.CanonicalPrincipalNode
          - polyglot.ast.TypeNode (also extends polyglot.ast.QualifierNode, polyglot.ast.Term)
            - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.Ambiguous)
              - jif.ast.ConstArrayTypeNode
            - polyglot.ast.CanonicalTypeNode
              - jif.ast.JifCanonicalTypeNode
            - jif.ast.InstTypeNode
            - jif.ast.LabeledTypeNode
      - polyglot.ast.Term
        - polyglot.ast.ClassDecl (also extends polyglot.ast.ClassMember, polyglot.ast.TopLevelDecl)
          - jif.ast.JifClassDecl
        - polyglot.ast.ClassMember
          - polyglot.ast.ClassDecl (also extends polyglot.ast.Term, polyglot.ast.TopLevelDecl)
            - jif.ast.JifClassDecl
          - polyglot.ast.CodeDecl (also extends polyglot.ast.CodeBlock)
            - polyglot.ast.ProcedureDecl
              - polyglot.ast.ConstructorDecl
                - jif.ast.JifConstructorDecl (also extends jif.ast.JifProcedureDecl)
              - jif.ast.JifProcedureDecl
                - jif.ast.JifConstructorDecl (also extends polyglot.ast.ConstructorDecl)
                - jif.ast.JifMethodDecl (also extends polyglot.ast.MethodDecl)
              - polyglot.ast.MethodDecl
                - jif.ast.JifMethodDecl (also extends jif.ast.JifProcedureDecl)
        - polyglot.ast.CodeNode
          - polyglot.ast.CodeBlock
            - polyglot.ast.CodeDecl (also extends polyglot.ast.ClassMember)
              - polyglot.ast.ProcedureDecl
                - polyglot.ast.ConstructorDecl
                  - jif.ast.JifConstructorDecl (also extends jif.ast.JifProcedureDecl)
                - jif.ast.JifProcedureDecl
                  - jif.ast.JifConstructorDecl (also extends polyglot.ast.ConstructorDecl)
                  - jif.ast.JifMethodDecl (also extends polyglot.ast.MethodDecl)
                - polyglot.ast.MethodDecl
                  - jif.ast.JifMethodDecl (also extends jif.ast.JifProcedureDecl)
        - polyglot.ast.Expr (also extends polyglot.ast.Receiver)
          - jif.ast.AmbNewArray (also extends polyglot.ast.Ambiguous)
          - jif.ast.DowngradeExpr
            - jif.ast.DeclassifyExpr
            - jif.ast.EndorseExpr
          - jif.ast.LabelExpr
            - jif.ast.NewLabel
          - jif.ast.PrincipalExpr
          - jif.ast.PrincipalNode (also extends jif.ast.ParamNode)
            - jif.ast.AmbJunctivePrincipalNode
            - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous)
              - jif.ast.AmbJunctivePrincipalNode
            - jif.ast.CanonicalPrincipalNode
        - polyglot.ast.Stmt
          - polyglot.ast.CompoundStmt
            - jif.ast.DowngradeStmt
              - jif.ast.CheckedEndorseStmt
              - jif.ast.DeclassifyStmt
              - jif.ast.EndorseStmt
                - jif.ast.CheckedEndorseStmt
        - polyglot.ast.TypeNode (also extends polyglot.ast.QualifierNode, polyglot.ast.Receiver)
          - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.Ambiguous)
            - jif.ast.ConstArrayTypeNode
          - polyglot.ast.CanonicalTypeNode
            - jif.ast.JifCanonicalTypeNode
          - jif.ast.InstTypeNode
          - jif.ast.LabeledTypeNode
      - polyglot.ast.TopLevelDecl
        - polyglot.ast.ClassDecl (also extends polyglot.ast.ClassMember, polyglot.ast.Term)
          - jif.ast.JifClassDecl
    - polyglot.types.TypeObject (also extends java.io.Serializable)
      - jif.types.Assertion
        - jif.types.ActsForConstraint
        - jif.types.AuthConstraint
        - jif.types.AutoEndorseConstraint
        - jif.types.CallerConstraint
        - jif.types.LabelLeAssertion
      - polyglot.types.CodeInstance
        - polyglot.types.ProcedureInstance
          - polyglot.types.ConstructorInstance (also extends polyglot.types.Declaration, polyglot.types.MemberInstance)
            - jif.types.JifConstructorInstance (also extends jif.types.JifProcedureInstance)
          - polyglot.types.FunctionInstance
            - polyglot.types.MethodInstance (also extends polyglot.types.Declaration, polyglot.types.MemberInstance)
              - jif.types.JifMethodInstance (also extends jif.types.JifProcedureInstance)
          - jif.types.JifProcedureInstance
            - jif.types.JifConstructorInstance (also extends polyglot.types.ConstructorInstance)
            - jif.types.JifMethodInstance (also extends polyglot.types.MethodInstance)
      - polyglot.types.Declaration
        - polyglot.types.ClassType (also extends polyglot.types.Importable, polyglot.types.MemberInstance, polyglot.types.ReferenceType)
          - jif.types.JifClassType
            - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType, polyglot.types.ParsedClassType)
            - jif.types.JifPolyType (also extends polyglot.ext.param.types.InstType)
              - jif.types.JifParsedPolyType (also extends polyglot.types.ParsedClassType)
            - jif.types.JifSubstType (also extends polyglot.ext.param.types.InstType, polyglot.ext.param.types.SubstType)
          - polyglot.types.ParsedClassType (also extends polyglot.types.ParsedTypeObject)
            - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType)
        - polyglot.types.ConstructorInstance (also extends polyglot.types.MemberInstance, polyglot.types.ProcedureInstance)
          - jif.types.JifConstructorInstance (also extends jif.types.JifProcedureInstance)
        - polyglot.types.MethodInstance (also extends polyglot.types.FunctionInstance, polyglot.types.MemberInstance)
          - jif.types.JifMethodInstance (also extends jif.types.JifProcedureInstance)
        - polyglot.types.VarInstance (also extends polyglot.types.TypeObject)
          - polyglot.types.FieldInstance (also extends polyglot.types.MemberInstance)
            - jif.types.JifFieldInstance (also extends jif.types.JifVarInstance)
          - jif.types.JifVarInstance
            - jif.types.JifFieldInstance (also extends polyglot.types.FieldInstance)
            - jif.types.JifLocalInstance (also extends polyglot.types.LocalInstance)
          - polyglot.types.LocalInstance
            - jif.types.JifLocalInstance (also extends jif.types.JifVarInstance)
          - jif.types.ParamInstance
          - jif.types.PrincipalInstance
      - polyglot.types.MemberInstance
        - polyglot.types.ClassType (also extends polyglot.types.Declaration, polyglot.types.Importable, polyglot.types.ReferenceType)
          - jif.types.JifClassType
            - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType, polyglot.types.ParsedClassType)
            - jif.types.JifPolyType (also extends polyglot.ext.param.types.InstType)
              - jif.types.JifParsedPolyType (also extends polyglot.types.ParsedClassType)
            - jif.types.JifSubstType (also extends polyglot.ext.param.types.InstType, polyglot.ext.param.types.SubstType)
          - polyglot.types.ParsedClassType (also extends polyglot.types.ParsedTypeObject)
            - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType)
        - polyglot.types.ConstructorInstance (also extends polyglot.types.Declaration, polyglot.types.ProcedureInstance)
          - jif.types.JifConstructorInstance (also extends jif.types.JifProcedureInstance)
        - polyglot.types.FieldInstance (also extends polyglot.types.VarInstance)
          - jif.types.JifFieldInstance (also extends jif.types.JifVarInstance)
        - polyglot.types.MethodInstance (also extends polyglot.types.Declaration, polyglot.types.FunctionInstance)
          - jif.types.JifMethodInstance (also extends jif.types.JifProcedureInstance)
      - polyglot.types.Named
        - polyglot.types.Importable
          - polyglot.types.ClassType (also extends polyglot.types.Declaration, polyglot.types.MemberInstance, polyglot.types.ReferenceType)
            - jif.types.JifClassType
              - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType, polyglot.types.ParsedClassType)
              - jif.types.JifPolyType (also extends polyglot.ext.param.types.InstType)
                - jif.types.JifParsedPolyType (also extends polyglot.types.ParsedClassType)
              - jif.types.JifSubstType (also extends polyglot.ext.param.types.InstType, polyglot.ext.param.types.SubstType)
            - polyglot.types.ParsedClassType (also extends polyglot.types.ParsedTypeObject)
              - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType)
        - polyglot.types.ParsedTypeObject
          - polyglot.types.ParsedClassType (also extends polyglot.types.ClassType)
            - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType)
      - jif.types.Param
        - jif.types.label.ArgLabel
        - jif.types.principal.BottomPrincipal
        - jif.types.principal.ConjunctivePrincipal
        - jif.types.label.CovariantParamLabel
        - jif.types.principal.DisjunctivePrincipal
        - jif.types.label.DynamicLabel
        - jif.types.principal.DynamicPrincipal
        - jif.types.principal.ExternalPrincipal
        - jif.types.label.JoinLabel
        - jif.types.label.Label
          - jif.types.label.ArgLabel
          - jif.types.label.CovariantParamLabel
          - jif.types.label.DynamicLabel
          - jif.types.label.JoinLabel
          - jif.types.label.MeetLabel
          - jif.types.label.NotTaken
          - jif.types.label.PairLabel
          - jif.types.label.ParamLabel
          - jif.types.label.ThisLabel
          - jif.types.label.UnknownLabel
          - jif.types.label.VarLabel (also extends jif.types.label.Variable)
          - jif.types.label.WritersToReadersLabel
        - jif.types.label.MeetLabel
        - jif.types.label.NotTaken
        - jif.types.label.PairLabel
        - jif.types.label.ParamLabel
        - jif.types.principal.ParamPrincipal
        - jif.types.principal.Principal
          - jif.types.principal.BottomPrincipal
          - jif.types.principal.ConjunctivePrincipal
          - jif.types.principal.DisjunctivePrincipal
          - jif.types.principal.DynamicPrincipal
          - jif.types.principal.ExternalPrincipal
          - jif.types.principal.ParamPrincipal
          - jif.types.principal.TopPrincipal
          - jif.types.principal.UnknownPrincipal
          - jif.types.principal.VarPrincipal (also extends jif.types.label.Variable)
        - jif.types.label.ThisLabel
        - jif.types.principal.TopPrincipal
        - jif.types.label.UnknownLabel
        - jif.types.UnknownParam
        - jif.types.principal.UnknownPrincipal
        - jif.types.label.VarLabel (also extends jif.types.label.Label, jif.types.label.Variable)
        - jif.types.principal.VarPrincipal (also extends jif.types.principal.Principal, jif.types.label.Variable)
        - jif.types.label.WritersToReadersLabel
      - jif.types.label.Policy
        - jif.types.label.ConfPolicy
          - jif.types.label.ReaderPolicy
        - jif.types.label.IntegPolicy
          - jif.types.label.WriterPolicy
        - jif.types.label.ReaderPolicy
        - jif.types.label.WriterPolicy
      - polyglot.types.Qualifier
        - polyglot.types.Type
          - polyglot.ext.param.types.InstType
            - jif.types.JifPolyType (also extends jif.types.JifClassType)
              - jif.types.JifParsedPolyType (also extends polyglot.types.ParsedClassType)
            - jif.types.JifSubstType (also extends jif.types.JifClassType, polyglot.ext.param.types.SubstType)
          - jif.types.LabeledType
          - polyglot.types.ReferenceType
            - polyglot.types.ArrayType
              - jif.types.ConstArrayType
            - polyglot.types.ClassType (also extends polyglot.types.Declaration, polyglot.types.Importable, polyglot.types.MemberInstance)
              - jif.types.JifClassType
                - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType, polyglot.types.ParsedClassType)
                - jif.types.JifPolyType (also extends polyglot.ext.param.types.InstType)
                  - jif.types.JifParsedPolyType (also extends polyglot.types.ParsedClassType)
                - jif.types.JifSubstType (also extends polyglot.ext.param.types.InstType, polyglot.ext.param.types.SubstType)
              - polyglot.types.ParsedClassType (also extends polyglot.types.ParsedTypeObject)
                - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType)
          - polyglot.ext.param.types.SubstType
            - jif.types.JifSubstType (also extends polyglot.ext.param.types.InstType, jif.types.JifClassType)
      - polyglot.types.VarInstance (also extends polyglot.types.Declaration)
        - polyglot.types.FieldInstance (also extends polyglot.types.MemberInstance)
          - jif.types.JifFieldInstance (also extends jif.types.JifVarInstance)
        - jif.types.JifVarInstance
          - jif.types.JifFieldInstance (also extends polyglot.types.FieldInstance)
          - jif.types.JifLocalInstance (also extends polyglot.types.LocalInstance)
        - polyglot.types.LocalInstance
          - jif.types.JifLocalInstance (also extends jif.types.JifVarInstance)
        - jif.types.ParamInstance
        - jif.types.PrincipalInstance
- jif.lang.Closure
- jif.types.DefaultSignature
- polyglot.ast.DelFactory
  - jif.ast.JifDelFactory
- polyglot.ast.ExtFactory
  - jif.ast.JifExtFactory (also extends jif.ast.JifStmtExtFactory)
- jif.extension.JifPreciseClassDel
- jif.ast.JifStmtExtFactory
  - jif.ast.JifExtFactory (also extends polyglot.ast.ExtFactory)
- jif.lang.Label
- jif.types.hierarchy.LabelEnv
- jif.types.hierarchy.LabelEnv.SearchState
- polyglot.ast.NodeFactory
  - jif.ast.JifNodeFactory
- polyglot.ast.NodeOps
  - polyglot.ast.JL (also extends polyglot.util.Copy)
    - polyglot.ast.Node (also extends polyglot.util.Copy)
      - polyglot.ast.Ambiguous
        - jif.ast.AmbDynamicLabelNode (also extends jif.ast.LabelNode)
        - jif.ast.AmbNewArray (also extends polyglot.ast.Expr)
        - jif.ast.AmbParam (also extends jif.ast.ParamNode)
          - jif.ast.AmbExprParam
        - jif.ast.AmbParamTypeOrAccess (also extends polyglot.ast.Receiver)
        - jif.ast.AmbPrincipalNode (also extends jif.ast.PrincipalNode)
          - jif.ast.AmbJunctivePrincipalNode
        - jif.ast.AmbThisLabelNode (also extends jif.ast.LabelNode)
        - jif.ast.AmbVarLabelNode (also extends jif.ast.LabelNode)
        - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.TypeNode)
          - jif.ast.ConstArrayTypeNode
      - jif.ast.ConstraintNode
        - jif.ast.ActsForConstraintNode
        - jif.ast.AuthConstraintNode
        - jif.ast.AutoEndorseConstraintNode
        - jif.ast.CallerConstraintNode
        - jif.ast.CanonicalConstraintNode
        - jif.ast.LabelLeAssertionNode
      - jif.ast.ParamDecl
      - jif.ast.ParamNode
        - jif.ast.AmbDynamicLabelNode (also extends polyglot.ast.Ambiguous, jif.ast.LabelNode)
        - jif.ast.AmbExprParam
        - jif.ast.AmbJunctivePrincipalNode
        - jif.ast.AmbParam (also extends polyglot.ast.Ambiguous)
          - jif.ast.AmbExprParam
        - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous, jif.ast.PrincipalNode)
          - jif.ast.AmbJunctivePrincipalNode
        - jif.ast.AmbThisLabelNode (also extends polyglot.ast.Ambiguous, jif.ast.LabelNode)
        - jif.ast.AmbVarLabelNode (also extends polyglot.ast.Ambiguous, jif.ast.LabelNode)
        - jif.ast.CanonicalLabelNode
        - jif.ast.CanonicalPrincipalNode
        - jif.ast.JoinLabelNode
        - jif.ast.LabelNode
          - jif.ast.AmbDynamicLabelNode (also extends polyglot.ast.Ambiguous)
          - jif.ast.AmbThisLabelNode (also extends polyglot.ast.Ambiguous)
          - jif.ast.AmbVarLabelNode (also extends polyglot.ast.Ambiguous)
          - jif.ast.CanonicalLabelNode
          - jif.ast.JoinLabelNode
          - jif.ast.MeetLabelNode
        - jif.ast.MeetLabelNode
        - jif.ast.PrincipalNode (also extends polyglot.ast.Expr)
          - jif.ast.AmbJunctivePrincipalNode
          - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous)
            - jif.ast.AmbJunctivePrincipalNode
          - jif.ast.CanonicalPrincipalNode
      - jif.ast.PolicyNode
      - polyglot.ast.Prefix
        - polyglot.ast.QualifierNode
          - polyglot.ast.TypeNode (also extends polyglot.ast.Receiver, polyglot.ast.Term)
            - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.Ambiguous)
              - jif.ast.ConstArrayTypeNode
            - polyglot.ast.CanonicalTypeNode
              - jif.ast.JifCanonicalTypeNode
            - jif.ast.InstTypeNode
            - jif.ast.LabeledTypeNode
        - polyglot.ast.Receiver (also extends polyglot.ast.Typed)
          - jif.ast.AmbParamTypeOrAccess (also extends polyglot.ast.Ambiguous)
          - polyglot.ast.Expr (also extends polyglot.ast.Term)
            - jif.ast.AmbNewArray (also extends polyglot.ast.Ambiguous)
            - jif.ast.DowngradeExpr
              - jif.ast.DeclassifyExpr
              - jif.ast.EndorseExpr
            - jif.ast.LabelExpr
              - jif.ast.NewLabel
            - jif.ast.PrincipalExpr
            - jif.ast.PrincipalNode (also extends jif.ast.ParamNode)
              - jif.ast.AmbJunctivePrincipalNode
              - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous)
                - jif.ast.AmbJunctivePrincipalNode
              - jif.ast.CanonicalPrincipalNode
          - polyglot.ast.TypeNode (also extends polyglot.ast.QualifierNode, polyglot.ast.Term)
            - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.Ambiguous)
              - jif.ast.ConstArrayTypeNode
            - polyglot.ast.CanonicalTypeNode
              - jif.ast.JifCanonicalTypeNode
            - jif.ast.InstTypeNode
            - jif.ast.LabeledTypeNode
      - polyglot.ast.Term
        - polyglot.ast.ClassDecl (also extends polyglot.ast.ClassMember, polyglot.ast.TopLevelDecl)
          - jif.ast.JifClassDecl
        - polyglot.ast.ClassMember
          - polyglot.ast.ClassDecl (also extends polyglot.ast.Term, polyglot.ast.TopLevelDecl)
            - jif.ast.JifClassDecl
          - polyglot.ast.CodeDecl (also extends polyglot.ast.CodeBlock)
            - polyglot.ast.ProcedureDecl
              - polyglot.ast.ConstructorDecl
                - jif.ast.JifConstructorDecl (also extends jif.ast.JifProcedureDecl)
              - jif.ast.JifProcedureDecl
                - jif.ast.JifConstructorDecl (also extends polyglot.ast.ConstructorDecl)
                - jif.ast.JifMethodDecl (also extends polyglot.ast.MethodDecl)
              - polyglot.ast.MethodDecl
                - jif.ast.JifMethodDecl (also extends jif.ast.JifProcedureDecl)
        - polyglot.ast.CodeNode
          - polyglot.ast.CodeBlock
            - polyglot.ast.CodeDecl (also extends polyglot.ast.ClassMember)
              - polyglot.ast.ProcedureDecl
                - polyglot.ast.ConstructorDecl
                  - jif.ast.JifConstructorDecl (also extends jif.ast.JifProcedureDecl)
                - jif.ast.JifProcedureDecl
                  - jif.ast.JifConstructorDecl (also extends polyglot.ast.ConstructorDecl)
                  - jif.ast.JifMethodDecl (also extends polyglot.ast.MethodDecl)
                - polyglot.ast.MethodDecl
                  - jif.ast.JifMethodDecl (also extends jif.ast.JifProcedureDecl)
        - polyglot.ast.Expr (also extends polyglot.ast.Receiver)
          - jif.ast.AmbNewArray (also extends polyglot.ast.Ambiguous)
          - jif.ast.DowngradeExpr
            - jif.ast.DeclassifyExpr
            - jif.ast.EndorseExpr
          - jif.ast.LabelExpr
            - jif.ast.NewLabel
          - jif.ast.PrincipalExpr
          - jif.ast.PrincipalNode (also extends jif.ast.ParamNode)
            - jif.ast.AmbJunctivePrincipalNode
            - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous)
              - jif.ast.AmbJunctivePrincipalNode
            - jif.ast.CanonicalPrincipalNode
        - polyglot.ast.Stmt
          - polyglot.ast.CompoundStmt
            - jif.ast.DowngradeStmt
              - jif.ast.CheckedEndorseStmt
              - jif.ast.DeclassifyStmt
              - jif.ast.EndorseStmt
                - jif.ast.CheckedEndorseStmt
        - polyglot.ast.TypeNode (also extends polyglot.ast.QualifierNode, polyglot.ast.Receiver)
          - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.Ambiguous)
            - jif.ast.ConstArrayTypeNode
          - polyglot.ast.CanonicalTypeNode
            - jif.ast.JifCanonicalTypeNode
          - jif.ast.InstTypeNode
          - jif.ast.LabeledTypeNode
      - polyglot.ast.TopLevelDecl
        - polyglot.ast.ClassDecl (also extends polyglot.ast.ClassMember, polyglot.ast.Term)
          - jif.ast.JifClassDecl
- jif.types.Path
  - jif.types.ExceptionPath
- jif.lang.Policy
  - jif.lang.ConfPolicy
  - jif.lang.IntegPolicy
- jif.lang.Principal
- polyglot.types.Resolver
  - polyglot.types.Context (also extends polyglot.util.Copy)
    - jif.types.JifContext
- java.io.Serializable
  - jif.translate.LabelToJavaExpr
  - jif.translate.PrincipalToJavaExpr
  - polyglot.ext.param.types.Subst
    - jif.types.JifSubst
  - polyglot.types.TypeObject (also extends polyglot.util.Copy)
    - jif.types.Assertion
      - jif.types.ActsForConstraint
      - jif.types.AuthConstraint
      - jif.types.AutoEndorseConstraint
      - jif.types.CallerConstraint
      - jif.types.LabelLeAssertion
    - polyglot.types.CodeInstance
      - polyglot.types.ProcedureInstance
        - polyglot.types.ConstructorInstance (also extends polyglot.types.Declaration, polyglot.types.MemberInstance)
          - jif.types.JifConstructorInstance (also extends jif.types.JifProcedureInstance)
        - polyglot.types.FunctionInstance
          - polyglot.types.MethodInstance (also extends polyglot.types.Declaration, polyglot.types.MemberInstance)
            - jif.types.JifMethodInstance (also extends jif.types.JifProcedureInstance)
        - jif.types.JifProcedureInstance
          - jif.types.JifConstructorInstance (also extends polyglot.types.ConstructorInstance)
          - jif.types.JifMethodInstance (also extends polyglot.types.MethodInstance)
    - polyglot.types.Declaration
      - polyglot.types.ClassType (also extends polyglot.types.Importable, polyglot.types.MemberInstance, polyglot.types.ReferenceType)
        - jif.types.JifClassType
          - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType, polyglot.types.ParsedClassType)
          - jif.types.JifPolyType (also extends polyglot.ext.param.types.InstType)
            - jif.types.JifParsedPolyType (also extends polyglot.types.ParsedClassType)
          - jif.types.JifSubstType (also extends polyglot.ext.param.types.InstType, polyglot.ext.param.types.SubstType)
        - polyglot.types.ParsedClassType (also extends polyglot.types.ParsedTypeObject)
          - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType)
      - polyglot.types.ConstructorInstance (also extends polyglot.types.MemberInstance, polyglot.types.ProcedureInstance)
        - jif.types.JifConstructorInstance (also extends jif.types.JifProcedureInstance)
      - polyglot.types.MethodInstance (also extends polyglot.types.FunctionInstance, polyglot.types.MemberInstance)
        - jif.types.JifMethodInstance (also extends jif.types.JifProcedureInstance)
      - polyglot.types.VarInstance (also extends polyglot.types.TypeObject)
        - polyglot.types.FieldInstance (also extends polyglot.types.MemberInstance)
          - jif.types.JifFieldInstance (also extends jif.types.JifVarInstance)
        - jif.types.JifVarInstance
          - jif.types.JifFieldInstance (also extends polyglot.types.FieldInstance)
          - jif.types.JifLocalInstance (also extends polyglot.types.LocalInstance)
        - polyglot.types.LocalInstance
          - jif.types.JifLocalInstance (also extends jif.types.JifVarInstance)
        - jif.types.ParamInstance
        - jif.types.PrincipalInstance
    - polyglot.types.MemberInstance
      - polyglot.types.ClassType (also extends polyglot.types.Declaration, polyglot.types.Importable, polyglot.types.ReferenceType)
        - jif.types.JifClassType
          - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType, polyglot.types.ParsedClassType)
          - jif.types.JifPolyType (also extends polyglot.ext.param.types.InstType)
            - jif.types.JifParsedPolyType (also extends polyglot.types.ParsedClassType)
          - jif.types.JifSubstType (also extends polyglot.ext.param.types.InstType, polyglot.ext.param.types.SubstType)
        - polyglot.types.ParsedClassType (also extends polyglot.types.ParsedTypeObject)
          - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType)
      - polyglot.types.ConstructorInstance (also extends polyglot.types.Declaration, polyglot.types.ProcedureInstance)
        - jif.types.JifConstructorInstance (also extends jif.types.JifProcedureInstance)
      - polyglot.types.FieldInstance (also extends polyglot.types.VarInstance)
        - jif.types.JifFieldInstance (also extends jif.types.JifVarInstance)
      - polyglot.types.MethodInstance (also extends polyglot.types.Declaration, polyglot.types.FunctionInstance)
        - jif.types.JifMethodInstance (also extends jif.types.JifProcedureInstance)
    - polyglot.types.Named
      - polyglot.types.Importable
        - polyglot.types.ClassType (also extends polyglot.types.Declaration, polyglot.types.MemberInstance, polyglot.types.ReferenceType)
          - jif.types.JifClassType
            - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType, polyglot.types.ParsedClassType)
            - jif.types.JifPolyType (also extends polyglot.ext.param.types.InstType)
              - jif.types.JifParsedPolyType (also extends polyglot.types.ParsedClassType)
            - jif.types.JifSubstType (also extends polyglot.ext.param.types.InstType, polyglot.ext.param.types.SubstType)
          - polyglot.types.ParsedClassType (also extends polyglot.types.ParsedTypeObject)
            - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType)
      - polyglot.types.ParsedTypeObject
        - polyglot.types.ParsedClassType (also extends polyglot.types.ClassType)
          - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType)
    - jif.types.Param
      - jif.types.label.ArgLabel
      - jif.types.principal.BottomPrincipal
      - jif.types.principal.ConjunctivePrincipal
      - jif.types.label.CovariantParamLabel
      - jif.types.principal.DisjunctivePrincipal
      - jif.types.label.DynamicLabel
      - jif.types.principal.DynamicPrincipal
      - jif.types.principal.ExternalPrincipal
      - jif.types.label.JoinLabel
      - jif.types.label.Label
        - jif.types.label.ArgLabel
        - jif.types.label.CovariantParamLabel
        - jif.types.label.DynamicLabel
        - jif.types.label.JoinLabel
        - jif.types.label.MeetLabel
        - jif.types.label.NotTaken
        - jif.types.label.PairLabel
        - jif.types.label.ParamLabel
        - jif.types.label.ThisLabel
        - jif.types.label.UnknownLabel
        - jif.types.label.VarLabel (also extends jif.types.label.Variable)
        - jif.types.label.WritersToReadersLabel
      - jif.types.label.MeetLabel
      - jif.types.label.NotTaken
      - jif.types.label.PairLabel
      - jif.types.label.ParamLabel
      - jif.types.principal.ParamPrincipal
      - jif.types.principal.Principal
        - jif.types.principal.BottomPrincipal
        - jif.types.principal.ConjunctivePrincipal
        - jif.types.principal.DisjunctivePrincipal
        - jif.types.principal.DynamicPrincipal
        - jif.types.principal.ExternalPrincipal
        - jif.types.principal.ParamPrincipal
        - jif.types.principal.TopPrincipal
        - jif.types.principal.UnknownPrincipal
        - jif.types.principal.VarPrincipal (also extends jif.types.label.Variable)
      - jif.types.label.ThisLabel
      - jif.types.principal.TopPrincipal
      - jif.types.label.UnknownLabel
      - jif.types.UnknownParam
      - jif.types.principal.UnknownPrincipal
      - jif.types.label.VarLabel (also extends jif.types.label.Label, jif.types.label.Variable)
      - jif.types.principal.VarPrincipal (also extends jif.types.principal.Principal, jif.types.label.Variable)
      - jif.types.label.WritersToReadersLabel
    - jif.types.label.Policy
      - jif.types.label.ConfPolicy
        - jif.types.label.ReaderPolicy
      - jif.types.label.IntegPolicy
        - jif.types.label.WriterPolicy
      - jif.types.label.ReaderPolicy
      - jif.types.label.WriterPolicy
    - polyglot.types.Qualifier
      - polyglot.types.Type
        - polyglot.ext.param.types.InstType
          - jif.types.JifPolyType (also extends jif.types.JifClassType)
            - jif.types.JifParsedPolyType (also extends polyglot.types.ParsedClassType)
          - jif.types.JifSubstType (also extends jif.types.JifClassType, polyglot.ext.param.types.SubstType)
        - jif.types.LabeledType
        - polyglot.types.ReferenceType
          - polyglot.types.ArrayType
            - jif.types.ConstArrayType
          - polyglot.types.ClassType (also extends polyglot.types.Declaration, polyglot.types.Importable, polyglot.types.MemberInstance)
            - jif.types.JifClassType
              - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType, polyglot.types.ParsedClassType)
              - jif.types.JifPolyType (also extends polyglot.ext.param.types.InstType)
                - jif.types.JifParsedPolyType (also extends polyglot.types.ParsedClassType)
              - jif.types.JifSubstType (also extends polyglot.ext.param.types.InstType, polyglot.ext.param.types.SubstType)
            - polyglot.types.ParsedClassType (also extends polyglot.types.ParsedTypeObject)
              - jif.types.JifParsedPolyType (also extends jif.types.JifPolyType)
        - polyglot.ext.param.types.SubstType
          - jif.types.JifSubstType (also extends polyglot.ext.param.types.InstType, jif.types.JifClassType)
    - polyglot.types.VarInstance (also extends polyglot.types.Declaration)
      - polyglot.types.FieldInstance (also extends polyglot.types.MemberInstance)
        - jif.types.JifFieldInstance (also extends jif.types.JifVarInstance)
      - jif.types.JifVarInstance
        - jif.types.JifFieldInstance (also extends polyglot.types.FieldInstance)
        - jif.types.JifLocalInstance (also extends polyglot.types.LocalInstance)
      - polyglot.types.LocalInstance
        - jif.types.JifLocalInstance (also extends jif.types.JifVarInstance)
      - jif.types.ParamInstance
      - jif.types.PrincipalInstance
- jif.net.SocketAcceptor
- jif.types.Solver
- polyglot.ast.Typed
  - polyglot.ast.Receiver (also extends polyglot.ast.Prefix)
    - jif.ast.AmbParamTypeOrAccess (also extends polyglot.ast.Ambiguous)
    - polyglot.ast.Expr (also extends polyglot.ast.Term)
      - jif.ast.AmbNewArray (also extends polyglot.ast.Ambiguous)
      - jif.ast.DowngradeExpr
        - jif.ast.DeclassifyExpr
        - jif.ast.EndorseExpr
      - jif.ast.LabelExpr
        - jif.ast.NewLabel
      - jif.ast.PrincipalExpr
      - jif.ast.PrincipalNode (also extends jif.ast.ParamNode)
        - jif.ast.AmbJunctivePrincipalNode
        - jif.ast.AmbPrincipalNode (also extends polyglot.ast.Ambiguous)
          - jif.ast.AmbJunctivePrincipalNode
        - jif.ast.CanonicalPrincipalNode
    - polyglot.ast.TypeNode (also extends polyglot.ast.QualifierNode, polyglot.ast.Term)
      - polyglot.ast.ArrayTypeNode (also extends polyglot.ast.Ambiguous)
        - jif.ast.ConstArrayTypeNode
      - polyglot.ast.CanonicalTypeNode
        - jif.ast.JifCanonicalTypeNode
      - jif.ast.InstTypeNode
      - jif.ast.LabeledTypeNode
- polyglot.types.TypeSystem
  - polyglot.ext.param.types.ParamTypeSystem
    - jif.types.JifTypeSystem
- jif.types.label.Variable
  - jif.types.label.VarLabel (also extends jif.types.label.Label)
  - jif.types.principal.VarPrincipal (also extends jif.types.principal.Principal)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - jif.visit.IntegerBoundsChecker.Bound.Type

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV NEXT | FRAMES NO FRAMES