Package org.codehaus.groovy.classgen.asm
Class ExpressionAsVariableSlot
- java.lang.Object
-
- org.codehaus.groovy.ast.ASTNode
-
- org.codehaus.groovy.ast.AnnotatedNode
-
- org.codehaus.groovy.ast.expr.Expression
-
- org.codehaus.groovy.classgen.BytecodeExpression
-
- org.codehaus.groovy.classgen.asm.ExpressionAsVariableSlot
-
public class ExpressionAsVariableSlot extends BytecodeExpression
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
-
-
Field Summary
-
Fields inherited from class org.codehaus.groovy.classgen.BytecodeExpression
NOP
-
-
Constructor Summary
Constructors Constructor Description ExpressionAsVariableSlot(WriterController controller, Expression expression)
ExpressionAsVariableSlot(WriterController controller, Expression expression, String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getIndex()
returns the index of the bytecode variableString
getText()
void
visit(org.objectweb.asm.MethodVisitor mv)
-
Methods inherited from class org.codehaus.groovy.classgen.BytecodeExpression
transformExpression, visit
-
Methods inherited from class org.codehaus.groovy.ast.expr.Expression
getType, setType, transformExpressions, transformExpressions
-
Methods inherited from class org.codehaus.groovy.ast.AnnotatedNode
addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic
-
Methods inherited from class org.codehaus.groovy.ast.ASTNode
copyNodeMetaData, equals, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getNodeMetaData, getNodeMetaData, hashCode, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition
-
-
-
-
Constructor Detail
-
ExpressionAsVariableSlot
public ExpressionAsVariableSlot(WriterController controller, Expression expression, String name)
-
ExpressionAsVariableSlot
public ExpressionAsVariableSlot(WriterController controller, Expression expression)
-
-
Method Detail
-
visit
public void visit(org.objectweb.asm.MethodVisitor mv)
- Specified by:
visit
in classBytecodeExpression
-
getIndex
public int getIndex()
returns the index of the bytecode variable
-
-