# Hierarchy For Package org.codehaus.groovy.classgen.asm

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.codehaus.groovy.classgen.asm.AssertionWriter
  - org.codehaus.groovy.ast.ASTNode (implements org.codehaus.groovy.ast.NodeMetaDataHandler)
    - org.codehaus.groovy.ast.AnnotatedNode (implements groovy.lang.groovydoc.GroovydocHolder<T>)
      - org.codehaus.groovy.ast.expr.Expression
        - org.codehaus.groovy.classgen.BytecodeExpression
          - org.codehaus.groovy.classgen.asm.ExpressionAsVariableSlot
          - org.codehaus.groovy.classgen.asm.VariableSlotLoader
  - org.codehaus.groovy.classgen.asm.BinaryExpressionHelper
    - org.codehaus.groovy.classgen.asm.BinaryExpressionMultiTypeDispatcher
  - org.codehaus.groovy.classgen.asm.BinaryExpressionWriter
    - org.codehaus.groovy.classgen.asm.BinaryFloatExpressionHelper
    - org.codehaus.groovy.classgen.asm.BinaryIntExpressionHelper
      - org.codehaus.groovy.classgen.asm.BinaryBooleanExpressionHelper
    - org.codehaus.groovy.classgen.asm.BinaryLongExpressionHelper
      - org.codehaus.groovy.classgen.asm.BinaryDoubleExpressionHelper
    - org.codehaus.groovy.classgen.asm.BinaryObjectExpressionHelper
  - org.codehaus.groovy.classgen.asm.BytecodeDumper (implements org.codehaus.groovy.control.BytecodeProcessor)
  - org.codehaus.groovy.classgen.asm.BytecodeHelper
  - org.codehaus.groovy.classgen.asm.BytecodeVariable
  - org.codehaus.groovy.classgen.asm.CallSiteWriter
  - org.objectweb.asm.ClassVisitor
    - org.codehaus.groovy.classgen.asm.PeepholeOptimizingClassVisitor
  - org.codehaus.groovy.classgen.asm.ClosureWriter
    - org.codehaus.groovy.classgen.asm.LambdaWriter
  - org.codehaus.groovy.ast.CodeVisitorSupport (implements org.codehaus.groovy.ast.GroovyCodeVisitor)
    - org.codehaus.groovy.classgen.asm.ClosureWriter.CorrectAccessedVariableVisitor
  - org.codehaus.groovy.classgen.asm.CompileStack
  - org.codehaus.groovy.classgen.asm.CompileStack.BlockRecorder
  - org.codehaus.groovy.classgen.asm.CompileStack.LabelRange
  - org.codehaus.groovy.classgen.asm.InvocationWriter
  - org.codehaus.groovy.classgen.asm.MethodCaller
  - org.codehaus.groovy.classgen.asm.MethodCallerMultiAdapter
  - org.codehaus.groovy.classgen.asm.MethodPointerExpressionWriter
    - org.codehaus.groovy.classgen.asm.MethodReferenceExpressionWriter
  - org.objectweb.asm.MethodVisitor
    - org.codehaus.groovy.classgen.asm.PeepholeOptimizingMethodVisitor
  - org.codehaus.groovy.classgen.asm.MopWriter
  - org.codehaus.groovy.classgen.asm.OperandStack
  - org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.ClassNodeSkip
  - org.codehaus.groovy.classgen.asm.OptimizingStatementWriter.StatementMeta
  - org.codehaus.groovy.classgen.asm.StatementMetaTypeChooser (implements org.codehaus.groovy.classgen.asm.TypeChooser)
  - org.codehaus.groovy.classgen.asm.StatementWriter
    - org.codehaus.groovy.classgen.asm.OptimizingStatementWriter
  - org.codehaus.groovy.classgen.asm.UnaryExpressionHelper
  - org.codehaus.groovy.classgen.asm.WriterController
    - org.codehaus.groovy.classgen.asm.DelegatingController

## Interface Hierarchy

- org.codehaus.groovy.classgen.asm.ClosureWriter.UseExistingReference
- org.codehaus.groovy.classgen.asm.MopWriter.Factory
- org.codehaus.groovy.classgen.asm.TypeChooser
- org.codehaus.groovy.classgen.asm.WriterControllerFactory

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - org.codehaus.groovy.classgen.asm.PackStrategy