Package org.codehaus.groovy.classgen
Class BytecodeSequence
java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.stmt.Statement
org.codehaus.groovy.classgen.BytecodeSequence
- All Implemented Interfaces:
NodeMetaDataHandler
This class represents a sequence of
BytecodeInstructions
or ASTNodes. The evaluation is depending on the type of
the visitor.-
Constructor Summary
ConstructorsConstructorDescriptionBytecodeSequence(List<?> instructions) Creates a bytecode sequence containing multiple instructions or AST nodes.BytecodeSequence(BytecodeInstruction instruction) Creates a bytecode sequence containing a single bytecode instruction. -
Method Summary
Modifier and TypeMethodDescriptionReturns the singular BytecodeInstruction.List<?>Returns an immutable view of the instructions in this sequence.voidvisit(GroovyCodeVisitor visitor) Delegates to the visit method used for this class.Methods inherited from class org.codehaus.groovy.ast.stmt.Statement
addStatementAnnotation, addStatementLabel, copyStatementLabels, getStatementAnnotations, getStatementLabel, getStatementLabels, isEmpty, setStatementLabelMethods inherited from class org.codehaus.groovy.ast.ASTNode
copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePositionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandler
copyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, newMetaDataMap, putNodeMetaData, removeNodeMetaData, setNodeMetaData
-
Constructor Details
-
BytecodeSequence
Creates a bytecode sequence containing a single bytecode instruction.- Parameters:
instruction- the bytecode instruction to include
-
BytecodeSequence
Creates a bytecode sequence containing multiple instructions or AST nodes.- Parameters:
instructions- the list of instructions or AST nodes
-
-
Method Details
-
getInstructions
Returns an immutable view of the instructions in this sequence.- Returns:
- the list of instructions
-
getBytecodeInstruction
Returns the singular BytecodeInstruction.- Returns:
nullif instruction(s) is not a BytecodeInstruction
-
visit
Delegates to the visit method used for this class. If the visitor is a ClassGenerator, thenClassGenerator.visitBytecodeSequence(BytecodeSequence)is called with this instance. If the visitor is no ClassGenerator, then this method will call visit on each ASTNode element sorted by this class. If one element is a BytecodeInstruction, then it will be skipped as it is no ASTNode.- Overrides:
visitin classASTNode- Parameters:
visitor- theGroovyCodeVisitorto process this node- See Also:
-