Package org.codehaus.groovy.classgen.asm
package org.codehaus.groovy.classgen.asm
ASM-based helpers that support Groovy bytecode generation in the core class generator.
-
ClassDescriptionEmits bytecode for Groovy
assertstatements.Binary write operations specialised for BooleansBinary expression helper specialized fordoubleoperations.Emits bytecode for dynamic binary expressions.This class is for internal use only! This class will dispatch to the right type adapters according to the kind of binary expression that is provided.Base class for writing primitive typed operationsBinary expression helper specialized forfloatoperations.Emits optimized bytecode for integer binary operations.Binary expression helper specialized forlongoperations.Binary expression helper used for object operations that fall back to dynamic dispatch.A utility class which can be used in test cases to dump generated bytecode.A helper class for bytecode generation with AsmClassGenerator.Represents compile time variable metadata while compiling a method.This class represents non-public API used by AsmClassGenerator.Generates bytecode for closure expressions.Visitor that rewritesVariableExpressionnodes whose accessed variable is aFieldNodein an outer class to instead reference the corresponding field in the generated closure inner class.Marker interface for using existing reference.Manages different aspects of the code of a code block like handling labels, defining variables, and scopes.Records a block for finally or other special handling.Represents a label range for exception handling or other scoping.This class will delegate all calls to a WriterController given in the constructor.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.Handles method and constructor invocations, generating appropriate bytecode.Generates bytecode for lambda expressions.A helper class to invoke methods more easily in ASMMulti-adapter for method callers that handles different argument counts and safe/spread-safe variants.Generates bytecode for method pointer expressions.Generates bytecode for method reference expressions.Generates bytecode for Meta Object Protocol (MOP) methods.Factory interface for creating MopWriter instances.Tracks the JVM operand stack during bytecode generation, maintaining a parallel list ofClassNodetype descriptors for each slot.AStatementWriterthat emits optimized fast-path bytecode for statements involving integer (and other primitive) operations.Marker metadata used to skip optimization analysis for a class node.Stores optimization metadata collected for a statement or expression.ATypeChooserwhich is aware of statement metadata.Generates bytecode for Groovy statements by visiting AST statement nodes and emitting corresponding JVM instructions via theWriterController.Interface for modules which are capable of resolving the type of an expression.A helper class used to generate bytecode for unary expressions.A bytecode expression that loads a variable from a specific slot index.Central coordinator for Groovy-to-bytecode compilation of a single class.A non-static factory to get alternative writer controller to be stored in the metadata