[Java] Class ExpressionAsVariableSlot
- org.codehaus.groovy.classgen.asm.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. A copy of the variable will stay on the stack. Subsequent visits will load the stored value instead of visiting the expression again
- Authors:
- Jochen "blackdrag" Theodorou
Fields inherited from class | Fields |
---|---|
class BytecodeExpression | NOP |
Constructor Summary
Constructor and description |
---|
ExpressionAsVariableSlot
(WriterController controller, Expression expression, String name) |
ExpressionAsVariableSlot
(WriterController controller, Expression expression) |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
int |
getIndex() returns the index of the bytecode variable | |
String |
getText() | |
void |
visit(org.objectweb.asm.MethodVisitor mv) |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class BytecodeExpression | transformExpression, visit, visit |
class Expression | getType, setType, transformExpression, transformExpressions, transformExpressions |
class AnnotatedNode | addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic |
class ASTNode | copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, getNodeMetaData, getText, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition, visit |
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Constructor Detail
public ExpressionAsVariableSlot(WriterController controller, Expression expression, String name)
public ExpressionAsVariableSlot(WriterController controller, Expression expression)
Method Detail
public int getIndex()
returns the index of the bytecode variable
@Override public String getText()
@Override public void visit(org.objectweb.asm.MethodVisitor mv)
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/classgen/asm/ExpressionAsVariableSlot.html