# Hierarchy For All Packages

Package Hierarchies:

- accrue,
- accrue.analysis,
- accrue.analysis.antidep,
- accrue.analysis.ast,
- accrue.analysis.callgraph,
- accrue.analysis.ctldep,
- accrue.analysis.defuse,
- accrue.analysis.domination,
- accrue.analysis.ext,
- accrue.analysis.goals,
- accrue.analysis.interprocanalysis,
- accrue.analysis.interprocvarcontext,
- accrue.analysis.notnulldataflow,
- accrue.analysis.parse,
- accrue.analysis.pointer,
- accrue.analysis.pointer.analyses,
- accrue.analysis.preciseExceptions,
- accrue.analysis.readwritesets,
- accrue.analysis.signatures,
- accrue.analysis.visit,
- accrue.jl5,
- accrue.jl5.ext,
- accrue.jl5.goals,
- accrue.jl5.pointer

## Class Hierarchy

- java.lang.Object
  - accrue.analysis.interprocanalysis.AbstractDataFlowDispatch<DFItem> (implements accrue.analysis.interprocanalysis.DataFlowDispatch<DFItem>)
  - polyglot.frontend.AbstractExtensionInfo (implements polyglot.frontend.ExtensionInfo)
    - polyglot.frontend.ParserlessJLExtensionInfo
      - polyglot.frontend.JLExtensionInfo
        - accrue.AccrueJLExtensionInfo (implements accrue.AccrueExtensionInfo)
        - polyglot.ext.jl5.JL5ExtensionInfo
          - accrue.jl5.AccrueJL5ExtensionInfo (implements accrue.AccrueExtensionInfo)
          - accrue.jl5.AccrueJL5TranslationExtensionInfo
  - polyglot.ast.AbstractExtFactory_c (implements polyglot.ast.ExtFactory)
    - accrue.analysis.ext.AnalysisExtFactory_c (implements accrue.analysis.ext.AnalysisExtFactory)
      - accrue.jl5.ext.JL5AnalysisExtFactory_c (implements polyglot.ext.jl5.ast.JL5ExtFactory)
  - polyglot.frontend.goals.AbstractGoal (implements polyglot.frontend.goals.Goal)
    - accrue.analysis.antidep.AntiDepGoal
    - polyglot.frontend.goals.Barrier
      - accrue.analysis.goals.MoveLocalClassesGoal
      - accrue.analysis.goals.RegisterDeclsGoal
      - accrue.analysis.goals.RegisterExpressionsGoal
    - accrue.analysis.ctldep.CtlDepGoal
    - accrue.analysis.defuse.DefUseGoal
    - accrue.analysis.domination.DominatorGoal
    - accrue.analysis.goals.MissingCodeReportGoal
    - accrue.analysis.domination.NonFatalPostDominatorGoal
    - accrue.analysis.notnulldataflow.NotNullGoal
    - accrue.analysis.goals.PointerAnalysisGoal
    - accrue.analysis.domination.PostDominatorGoal
    - accrue.analysis.callgraph.PreciseCallGraphGoal
    - accrue.analysis.preciseExceptions.PreciseExGoal
    - accrue.analysis.readwritesets.ReadWriteSetsGoal
    - polyglot.frontend.goals.SourceFileGoal
      - accrue.analysis.goals.AnalysesDone (implements polyglot.frontend.goals.EndGoal)
      - polyglot.frontend.goals.CodeGenerated (implements polyglot.frontend.goals.EndGoal)
        - accrue.analysis.goals.CodeGenerated
      - polyglot.frontend.goals.VisitorGoal
        - accrue.analysis.goals.ExpressionFlattenerGoal
        - accrue.analysis.goals.FindFinallyBlocksGoal
        - accrue.analysis.goals.InlineFinalConstantsGoal
        - accrue.jl5.goals.JL5RegisterPointerStmtsGoal
        - accrue.analysis.goals.MakeInstanceInitializersExplicitGoal
        - accrue.analysis.goals.MakeNarrowingAssignmentsExplicitGoal
        - accrue.analysis.goals.MakeTargetsExplicitGoal
        - accrue.analysis.goals.MoveInnerClassesGoal
        - accrue.analysis.goals.MoveStaticFieldInitializersGoal
        - accrue.analysis.goals.RegisterPointerStmtsGoal
        - accrue.analysis.goals.RegisterProceduresGoal
        - accrue.analysis.goals.SimplifyExpressionsGoal
  - accrue.analysis.interprocanalysis.AbstractLocation
  - polyglot.ast.AbstractNodeFactory_c (implements polyglot.ast.NodeFactory)
    - polyglot.ast.NodeFactory_c
      - accrue.analysis.ast.AccrueNodeFactory_c (implements accrue.analysis.ast.AccrueNodeFactory)
  - polyglot.frontend.AbstractPass (implements polyglot.frontend.Pass)
    - accrue.analysis.interprocanalysis.InterProcAnalysisPass<T>
      - accrue.analysis.ctldep.CtlDepPass
      - accrue.analysis.domination.DominationPass
      - accrue.analysis.interprocvarcontext.InterProcVarContextPass<T>
        - accrue.analysis.antidep.AntiDepPass
        - accrue.analysis.defuse.DefUsePass
        - accrue.analysis.notnulldataflow.NotNullAnalysisPass
      - accrue.analysis.callgraph.PreciseCallGraphPass
      - accrue.analysis.preciseExceptions.PreciseExPass
      - accrue.analysis.readwritesets.ReadWriteSetsPass
    - accrue.analysis.MissingCodeReportPass
    - accrue.analysis.pointer.PointerAnalysisPass
  - accrue.AccrueOptionsHelper
  - accrue.AccrueSchedulerHelper
    - accrue.jl5.AccrueJL5Scheduler.AccrueJL5SchedulerHelper
  - accrue.AccrueUtil
  - accrue.analysis.pointer.AllocSiteNode
  - accrue.analysis.interprocanalysis.AnalysisContext (implements java.lang.Cloneable)
  - accrue.analysis.interprocanalysis.AnalysisContextMap<T>
  - accrue.analysis.interprocvarcontext.AnalysisContextPeerMap<T>
  - accrue.analysis.interprocvarcontext.AnalysisContextPeerMap.CodeObjectPeerContext
  - accrue.analysis.interprocanalysis.AnalysisFactory<A>
    - accrue.analysis.interprocvarcontext.AnalysisFactoryVarContext<T>
      - accrue.analysis.antidep.AntiDepAnalysisFactory
      - accrue.analysis.defuse.DefUseAnalysisFactory
      - accrue.analysis.notnulldataflow.NotNullAnalysisFactory
    - accrue.analysis.ctldep.CtlDepAnalysisFactory
    - accrue.analysis.domination.DominationAnalysisFactory
    - accrue.analysis.callgraph.PreciseCallGraphFactory
    - accrue.analysis.preciseExceptions.PreciseExAnalysisFactory
    - accrue.analysis.readwritesets.ReadWriteSetsAnalysisFactory
  - accrue.analysis.signatures.AnalysisSignatures
  - accrue.analysis.interprocanalysis.AnalysisUnit
  - accrue.analysis.interprocanalysis.AnalysisUtil<A>
    - accrue.analysis.interprocvarcontext.AnalysisUtilVarContext<A,T>
      - accrue.analysis.interprocvarcontext.AnalysisUtilVarContextDataFlow<A,T>
        - accrue.analysis.antidep.AntiDepAnalysisUtil
        - accrue.analysis.defuse.DefUseAnalysisUtil
        - accrue.analysis.notnulldataflow.NotNullAnalysisUtil
    - accrue.analysis.ctldep.CtlDepAnalysisUtil
    - accrue.analysis.domination.DominationAnalysisUtil
    - accrue.analysis.callgraph.PreciseCallGraphAnalysisUtil
    - accrue.analysis.preciseExceptions.PreciseExAnalysisUtil
    - accrue.analysis.readwritesets.ReadWriteSetsAnalysisUtil
  - accrue.analysis.antidep.AntiDepAbsVal (implements accrue.analysis.interprocvarcontext.AbstractValue<T>)
  - accrue.analysis.interprocanalysis.CallGraph
  - accrue.analysis.pointer.CallSiteNode
  - polyglot.visit.CFGBuilder<FlowItem> (implements polyglot.util.Copy<T>)
    - accrue.analysis.interprocanalysis.PreciseDataFlow.PreciseCFGBuilder<FlowItem>
  - accrue.analysis.pointer.ConstructorContext
  - polyglot.visit.DataFlow.Item
    - accrue.analysis.ctldep.CDAbsVal (implements accrue.analysis.interprocvarcontext.AbstractValue<T>)
    - accrue.analysis.interprocvarcontext.VarContext<T> (implements java.lang.Cloneable, accrue.analysis.interprocanalysis.Ordered<T>)
  - accrue.analysis.defuse.DefUseAbsVal (implements accrue.analysis.interprocvarcontext.AbstractValue<T>)
    - accrue.analysis.defuse.NewAllocAbsVal
  - accrue.analysis.interprocanalysis.EdgeIdentifier_c (implements accrue.analysis.interprocanalysis.EdgeIdentifier)
  - accrue.analysis.interprocanalysis.EdgeIdentifier.EdgeType
    - accrue.analysis.interprocanalysis.EdgeIdentifier.ExceptionEdge
    - accrue.analysis.interprocanalysis.EdgeIdentifier.HeapUseKey
    - accrue.analysis.interprocanalysis.EdgeIdentifier.LocalUseKey
  - accrue.analysis.interprocanalysis.ExitMap<T>
    - accrue.analysis.interprocvarcontext.FinalVarContext<T>
  - accrue.analysis.interprocanalysis.ExitMap.Key
    - accrue.analysis.interprocanalysis.ExitMap.ExceptionKey
    - accrue.analysis.interprocanalysis.ExitMap.LabeledBranchKey
  - polyglot.ast.Ext_c (implements polyglot.ast.Ext)
    - accrue.analysis.ext.AccrueExt_c (implements accrue.analysis.ext.AccrueExt)
      - accrue.analysis.ext.ExtTerm
        - accrue.analysis.ext.ExtAssert
        - accrue.analysis.ext.ExtBlock
        - accrue.analysis.ext.ExtBranch
        - accrue.analysis.ext.ExtCatch
        - accrue.analysis.ext.ExtCodeDecl
          - accrue.analysis.ext.ExtInitializer (implements accrue.analysis.ext.ExtInitializerOrFieldDecl)
          - accrue.analysis.ext.ExtProcedureDecl
            - accrue.analysis.ext.ExtConstructorDecl
            - accrue.analysis.ext.ExtMethodDecl
        - accrue.analysis.ext.ExtConstructorCall (implements accrue.analysis.ext.ExtProcedureCall)
        - accrue.analysis.ext.ExtEmpty
        - accrue.jl5.ext.ExtEnumConstantDecl (implements accrue.analysis.ext.ExtAlloc, accrue.analysis.ext.ExtProcedureCall)
        - accrue.analysis.ext.ExtEval
        - accrue.analysis.ext.ExtExpr
          - accrue.analysis.ext.ExtArrayAccess
          - accrue.analysis.ext.ExtArrayAccessAssign
          - accrue.analysis.ext.ExtArrayInit (implements accrue.analysis.ext.ExtAlloc)
          - accrue.analysis.ext.ExtBinary
          - accrue.analysis.ext.ExtCall (implements accrue.analysis.ext.ExtProcedureCall)
          - accrue.analysis.ext.ExtCast
          - accrue.analysis.ext.ExtConditional
          - accrue.analysis.ext.ExtField
            - accrue.jl5.ext.ExtEnumConstant
          - accrue.analysis.ext.ExtFieldAssign
          - accrue.analysis.ext.ExtInstanceof
          - accrue.analysis.ext.ExtLit
          - accrue.analysis.ext.ExtLocal
          - accrue.analysis.ext.ExtLocalAssign
          - accrue.analysis.ext.ExtNew (implements accrue.analysis.ext.ExtAlloc, accrue.analysis.ext.ExtProcedureCall)
          - accrue.analysis.ext.ExtNewArray (implements accrue.analysis.ext.ExtAlloc)
          - accrue.analysis.ext.ExtPrimitiveExpr
            - accrue.analysis.ext.ExtUnary
          - accrue.analysis.ext.ExtSpecial
          - accrue.analysis.ext.ExtSuppress
        - accrue.analysis.ext.ExtFieldDecl (implements accrue.analysis.ext.ExtInitializerOrFieldDecl)
        - accrue.analysis.ext.ExtFormal
        - accrue.analysis.ext.ExtIf
        - accrue.analysis.ext.ExtLabeled
        - accrue.analysis.ext.ExtLocalDecl
        - accrue.analysis.ext.ExtLoop
          - accrue.analysis.ext.ExtDo
          - accrue.analysis.ext.ExtWhile
        - accrue.analysis.ext.ExtReturn
        - accrue.analysis.ext.ExtSwitch
        - accrue.analysis.ext.ExtSynchronized
        - accrue.analysis.ext.ExtThrow
        - accrue.analysis.ext.ExtTry
        - accrue.analysis.ext.ExtTypeNode
  - accrue.analysis.pointer.analyses.HeapAbstractionFactory
    - accrue.analysis.pointer.analyses.CallSiteContextSensitiveAnalysis
    - accrue.analysis.pointer.analyses.CallSiteForPattern
      - accrue.analysis.pointer.analyses.CallSiteForCallee
    - accrue.analysis.pointer.analyses.CrossProductAnalysis
    - accrue.analysis.pointer.analyses.DistinguishClass
    - accrue.analysis.pointer.analyses.FullObjSensitiveAnalysis
    - accrue.analysis.pointer.analyses.StaticCallSiteContextSensitiveAnalysis
    - accrue.analysis.pointer.analyses.StickFirstMatches
      - accrue.analysis.pointer.analyses.StickFirstCalledFrom
      - accrue.analysis.pointer.analyses.StickFirstCallee
      - accrue.analysis.pointer.analyses.StickFirstCollections
      - accrue.analysis.pointer.analyses.StickFirstPrimitive
    - accrue.analysis.pointer.analyses.TypeSensitive_nTmH_Analysis
  - polyglot.ast.JLang_c (implements polyglot.ast.JLang)
    - accrue.analysis.ast.AccrueLang_c (implements polyglot.ast.JLang)
  - accrue.analysis.parse.Lexer_c (implements polyglot.lex.Lexer)
  - accrue.analysis.pointer.LibraryPointsToSignature
    - accrue.analysis.pointer.PointsToLibrarySigs.AllocatorOrReceiver
    - accrue.analysis.pointer.PointsToLibrarySigs.AssignsArgToField
    - accrue.analysis.pointer.PointsToLibrarySigs.ReturnsField
    - accrue.analysis.pointer.PointsToLibrarySigs.Singleton
  - accrue.analysis.interprocvarcontext.LibrarySignature<A,T>
    - accrue.analysis.defuse.DefUseLibrarySignature
      - accrue.analysis.defuse.DefUseLibrarySignature.DEF_ARG
      - accrue.analysis.defuse.DefUseLibrarySignature.DEF_HIDDEN
      - accrue.analysis.defuse.DefUseLibrarySignature.Join
      - accrue.analysis.defuse.DefUseLibrarySignature.USE_DEF_HIDDEN
      - accrue.analysis.defuse.DefUseLibrarySignature.USE_DEF_USEARG_HIDDEN
      - accrue.analysis.defuse.DefUseLibrarySignature.USE_HIDDEN
  - java_cup.runtime.lr_parser
    - polyglot.parse.BaseParser
      - polyglot.parse.Grm
        - accrue.analysis.parse.Grm
  - accrue.analysis.MissingCodeReporter
  - polyglot.ast.Node_c (implements polyglot.ast.Node)
    - polyglot.ast.Term_c (implements polyglot.ast.Term, polyglot.ast.TermOps)
      - polyglot.ast.Expr_c (implements polyglot.ast.Expr, polyglot.ast.ExprOps)
        - polyglot.ast.Call_c (implements polyglot.ast.Call, polyglot.ast.CallOps)
          - accrue.analysis.ast.AccrueCall_c
        - polyglot.ast.New_c (implements polyglot.ast.New, polyglot.ast.NewOps)
          - accrue.analysis.ast.AccrueNew_c
        - accrue.analysis.ast.Suppress_c (implements accrue.analysis.ast.Suppress)
      - polyglot.ast.Stmt_c (implements polyglot.ast.Stmt)
        - polyglot.ast.Catch_c (implements polyglot.ast.Catch)
          - accrue.analysis.ast.AccrueCatch_c
        - polyglot.ast.ConstructorCall_c (implements polyglot.ast.ConstructorCall, polyglot.ast.ProcedureCallOps)
          - accrue.analysis.ast.AccrueConstructorCall_c
        - polyglot.ast.Try_c (implements polyglot.ast.Try, polyglot.ast.TryOps)
          - accrue.analysis.ast.AccrueTry_c
  - accrue.analysis.interprocanalysis.NodeIdentifier_c (implements accrue.analysis.interprocanalysis.NodeIdentifier)
    - accrue.analysis.interprocanalysis.DataFlowNodeIdentifier_c (implements accrue.analysis.interprocanalysis.DataFlowNodeIdentifier)
    - accrue.analysis.interprocanalysis.NativeNodeIdentifier_c (implements accrue.analysis.interprocanalysis.NativeNodeIdentifier)
  - polyglot.visit.NodeVisitor (implements polyglot.util.Copy<T>)
    - polyglot.visit.HaltingVisitor
      - polyglot.visit.ErrorHandlingVisitor
        - polyglot.visit.ContextVisitor
          - polyglot.visit.AscriptionVisitor
            - accrue.analysis.visit.InlineFinalConstants
          - accrue.analysis.visit.MakeInstanceInitializersExplicit
          - accrue.analysis.visit.MoveStaticFieldInitializers
        - polyglot.visit.DataFlow<FlowItem>
          - accrue.analysis.interprocanalysis.PreciseDataFlow<FlowItem>
            - accrue.analysis.ctldep.CtlDepDataFlow
            - accrue.analysis.domination.DominatorDataFlow
            - accrue.analysis.domination.PostDominatorDataFlow
              - accrue.analysis.domination.NonFatalPostDominatorDataFlow
            - accrue.analysis.interprocvarcontext.VarContextDataFlow<T> (implements accrue.analysis.interprocanalysis.DataFlowDispatch<DFItem>)
              - accrue.analysis.antidep.AntiDepDataFlow
              - accrue.analysis.defuse.DefUseDataFlow
              - accrue.analysis.notnulldataflow.NotNullDataFlow (implements accrue.jl5.JL5DataFlowDispatch<DFItem>)
        - accrue.analysis.visit.FindFinallyBlocks
        - accrue.analysis.pointer.RegisterPointerStmtsVisitor
          - accrue.jl5.pointer.JL5RegisterPointerStmtsVisitor
        - accrue.analysis.interprocanalysis.RegisterProceduresVisitor
      - accrue.analysis.visit.SimplifyExpressions
    - accrue.analysis.visit.MakeTargetsExplicit
    - accrue.analysis.notnulldataflow.NotNullAnalysisPass.MakeNonPeerNullResultValid
    - accrue.analysis.callgraph.PreciseCallGraphVisitor
    - accrue.analysis.preciseExceptions.PreciseExVisitor
    - accrue.analysis.readwritesets.ReadWriteSetVisitor
    - accrue.analysis.visit.RegisterExpressions
    - accrue.analysis.visit.RegisterFieldDecls
  - accrue.analysis.notnulldataflow.NotNullAbsVal (implements accrue.analysis.interprocvarcontext.AbstractValue<T>)
  - polyglot.main.Options
    - accrue.AccrueJLOptions (implements accrue.AccrueOptions)
    - polyglot.ext.jl5.JL5Options
      - accrue.jl5.AccrueJL5Options (implements accrue.AccrueOptions)
      - accrue.jl5.AccrueJL5TranslationExtensionInfo.AccrueJL5TranslationOptions
  - accrue.analysis.callgraph.PCGAbsVal (implements accrue.analysis.interprocanalysis.Ordered<T>)
  - accrue.analysis.pointer.PointsToEngine
    - accrue.analysis.pointer.PointsToEngineMultiThread
    - accrue.analysis.pointer.PointsToEngineSingleThread
    - accrue.analysis.pointer.PointsToEngineTimeout
  - accrue.analysis.pointer.PointsToEngine.StmtAndContext
  - accrue.analysis.pointer.PointsToGraph
    - accrue.analysis.pointer.PointsToGraphSerial
    - accrue.analysis.pointer.PointsToGraphSync
  - accrue.analysis.pointer.PointsToGraphNode
    - accrue.analysis.pointer.ObjectField
    - accrue.analysis.pointer.ReferenceVariableReplica
  - accrue.analysis.pointer.PointsToLibrarySigs
  - accrue.analysis.pointer.PointsToStmt
    - accrue.analysis.pointer.StmtAllocToLocal
    - accrue.analysis.pointer.StmtFieldToLocal
    - accrue.analysis.pointer.StmtFilteredLocalToLocal
    - accrue.analysis.pointer.StmtLocalToField
    - accrue.analysis.pointer.StmtLocalToLocal
    - accrue.analysis.pointer.StmtProcedureCall
      - accrue.analysis.pointer.StmtConstructorCall
      - accrue.analysis.pointer.StmtSpecialMethodCall
      - accrue.analysis.pointer.StmtStaticMethodCall
      - accrue.analysis.pointer.StmtVirtualMethodCall
  - accrue.analysis.preciseExceptions.PreciseExAbsVal (implements accrue.analysis.interprocanalysis.Ordered<T>)
  - accrue.analysis.preciseExceptions.PreciseExLibrarySignature
  - accrue.analysis.readwritesets.ReadWriteSet (implements accrue.analysis.interprocanalysis.Ordered<T>)
  - accrue.analysis.pointer.ReferenceVariable
  - accrue.analysis.interprocanalysis.Registrar
  - polyglot.frontend.Scheduler
    - polyglot.frontend.JLScheduler
      - accrue.AccrueJLScheduler (implements accrue.AccrueScheduler)
      - polyglot.ext.jl5.JL5Scheduler
        - accrue.jl5.AccrueJL5Scheduler (implements accrue.AccrueScheduler)
  - accrue.analysis.interprocvarcontext.SignatureRepository<T>
  - accrue.analysis.interprocvarcontext.Stack<T>
  - accrue.analysis.pointer.StmtProcedureCall.ExceptionHandlerPointsToGraphNode
  - accrue.analysis.pointer.StmtRegistrar
    - accrue.jl5.pointer.JL5StmtRegistrar
  - accrue.analysis.pointer.StmtRegistrar.CodeInfo
  - accrue.analysis.pointer.StmtRegistrar.ExceptionHandlerReferenceVariable
  - accrue.analysis.interprocvarcontext.SuspendedExecutionStack<T> (implements accrue.analysis.interprocanalysis.Ordered<T>)
  - accrue.analysis.parse.sym
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - polyglot.main.Main.TerminationException
          - accrue.analysis.pointer.PointsToEngine.PointsToTimeoutException
  - accrue.analysis.preciseExceptions.ThrowableType
  - polyglot.frontend.Topics
    - accrue.analysis.AnalysisTopics
  - accrue.analysis.interprocanalysis.Unit (implements accrue.analysis.interprocanalysis.Ordered<T>)
  - accrue.analysis.interprocanalysis.WorkQueue<T>
    - accrue.analysis.interprocvarcontext.WorkQueueVarContext<T>
  - accrue.analysis.interprocanalysis.WorkQueue.AnalysisUnitRecord<T>
    - accrue.analysis.interprocvarcontext.WorkQueueVarContext.AnalysisUnitRecordLocs<T>

## Interface Hierarchy

- accrue.AccrueOptions
- accrue.AccrueScheduler
- accrue.analysis.pointer.CContext
- java.lang.Cloneable
  - accrue.analysis.interprocvarcontext.AbstractValue<T> (also extends accrue.analysis.interprocanalysis.Ordered<T>)
  - polyglot.util.Copy<T>
    - polyglot.ast.Ext (also extends polyglot.ast.NodeOps, java.io.Serializable)
      - accrue.analysis.ext.AccrueExt
        - accrue.analysis.ext.ExtAlloc
        - accrue.analysis.ext.ExtProcedureCall
    - polyglot.ast.Node (also extends polyglot.ast.NodeOps, java.io.Serializable)
      - polyglot.ast.Prefix
        - polyglot.ast.Receiver (also extends polyglot.ast.Typed)
          - polyglot.ast.Expr (also extends polyglot.ast.Term)
            - accrue.analysis.ast.Suppress
      - polyglot.ast.Term
        - polyglot.ast.Expr (also extends polyglot.ast.Receiver)
          - accrue.analysis.ast.Suppress
- accrue.analysis.interprocanalysis.DataFlowDispatch<DFItem>
  - accrue.jl5.JL5DataFlowDispatch<DFItem>
- accrue.analysis.interprocanalysis.EdgeIdentifier
- polyglot.frontend.ExtensionInfo
  - accrue.AccrueExtensionInfo
- accrue.analysis.ext.ExtInitializerOrFieldDecl
- accrue.analysis.pointer.HContext
- java.lang.Iterable<T>
  - polyglot.ast.ExtFactory
    - accrue.analysis.ext.AnalysisExtFactory
- polyglot.ast.NodeFactory
  - accrue.analysis.ast.AccrueNodeFactory
- accrue.analysis.interprocanalysis.NodeIdentifier
  - accrue.analysis.interprocanalysis.DataFlowNodeIdentifier
  - accrue.analysis.interprocanalysis.NativeNodeIdentifier
- polyglot.ast.NodeOps
  - polyglot.ast.Ext (also extends polyglot.util.Copy<T>, java.io.Serializable)
    - accrue.analysis.ext.AccrueExt
      - accrue.analysis.ext.ExtAlloc
      - accrue.analysis.ext.ExtProcedureCall
  - polyglot.ast.Node (also extends polyglot.util.Copy<T>, java.io.Serializable)
    - polyglot.ast.Prefix
      - polyglot.ast.Receiver (also extends polyglot.ast.Typed)
        - polyglot.ast.Expr (also extends polyglot.ast.Term)
          - accrue.analysis.ast.Suppress
    - polyglot.ast.Term
      - polyglot.ast.Expr (also extends polyglot.ast.Receiver)
        - accrue.analysis.ast.Suppress
- accrue.analysis.interprocanalysis.Ordered<T>
  - accrue.analysis.interprocvarcontext.AbstractValue<T> (also extends java.lang.Cloneable)
- java.io.Serializable
  - polyglot.ast.Ext (also extends polyglot.util.Copy<T>, polyglot.ast.NodeOps)
    - accrue.analysis.ext.AccrueExt
      - accrue.analysis.ext.ExtAlloc
      - accrue.analysis.ext.ExtProcedureCall
  - polyglot.ast.Node (also extends polyglot.util.Copy<T>, polyglot.ast.NodeOps)
    - polyglot.ast.Prefix
      - polyglot.ast.Receiver (also extends polyglot.ast.Typed)
        - polyglot.ast.Expr (also extends polyglot.ast.Term)
          - accrue.analysis.ast.Suppress
    - polyglot.ast.Term
      - polyglot.ast.Expr (also extends polyglot.ast.Receiver)
        - accrue.analysis.ast.Suppress
- polyglot.ast.Typed
  - polyglot.ast.Receiver (also extends polyglot.ast.Prefix)
    - polyglot.ast.Expr (also extends polyglot.ast.Term)
      - accrue.analysis.ast.Suppress

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - accrue.analysis.defuse.DefUseAnalysisUtil.Mode
    - accrue.analysis.domination.DominationPass.Kind