| Interface | Description | 
|---|---|
| ClosureWriter.UseExistingReference | |
| TypeChooser | Interface for modules which are capable of resolving the type of an expression. | 
| WriterControllerFactory | A non static factory to get alternative writer controller to be stroed in the meta data | 
| Class | Description | 
|---|---|
| AssertionWriter | |
| BinaryBooleanExpressionHelper | |
| BinaryDoubleExpressionHelper | |
| BinaryExpressionHelper | |
| BinaryExpressionMultiTypeDispatcher | This class is for internal use only! | 
| BinaryExpressionWriter | |
| BinaryFloatExpressionHelper | |
| BinaryIntExpressionHelper | |
| BinaryLongExpressionHelper | |
| BinaryObjectExpressionHelper | |
| BytecodeHelper | A helper class for bytecode generation with AsmClassGenerator. | 
| BytecodeVariable | Represents compile time variable metadata while compiling a method. | 
| CallSiteWriter | This class represents non public API used by AsmClassGenerator. | 
| ClosureWriter | |
| CompileStack | This class is a helper for AsmClassGenerator. | 
| CompileStack.BlockRecorder | |
| CompileStack.LabelRange | |
| DelegatingController | This class will delegate all calls to a WriterController given in the constructor. | 
| ExpressionAsVariableSlot | Helper class that takes an Expression and if visited will load it normally, 
 storing the result in a helper variable, which then can be requested after
 the visit is completed. | 
| InvocationWriter | |
| MethodCaller | A helper class to invoke methods more easily in ASM | 
| MethodCallerMultiAdapter | |
| MopWriter | |
| OperandStack | |
| OptimizingStatementWriter | A class to write out the optimized statements | 
| OptimizingStatementWriter.ClassNodeSkip | |
| OptimizingStatementWriter.StatementMeta | |
| StatementMetaTypeChooser | A  TypeChooserwhich is aware of statement metadata. | 
| StatementWriter | |
| UnaryExpressionHelper | A helper class used to generate bytecode for unary expressions. | 
| VariableSlotLoader | |
| WriterController | 
Helper classes for ASMClassGenerator. All classes in this package are for internal usage only.