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
 
 
 
 
 
- 
- All Implemented Interfaces:
- GroovydocHolder<AnnotatedNode>,- NodeMetaDataHandler
 
 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.BytecodeExpressionNOP
 - 
Fields inherited from class org.codehaus.groovy.ast.expr.ExpressionEMPTY_ARRAY
 - 
Fields inherited from interface groovy.lang.groovydoc.GroovydocHolderDOC_COMMENT
 
- 
 - 
Constructor SummaryConstructors Constructor Description ExpressionAsVariableSlot(WriterController controller, Expression expression)ExpressionAsVariableSlot(WriterController controller, Expression expression, String name)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetIndex()returns the index of the bytecode variableStringgetText()voidvisit(org.objectweb.asm.MethodVisitor mv)- 
Methods inherited from class org.codehaus.groovy.classgen.BytecodeExpressiontransformExpression, visit
 - 
Methods inherited from class org.codehaus.groovy.ast.expr.ExpressiongetType, setType, transformExpressions, transformExpressions
 - 
Methods inherited from class org.codehaus.groovy.ast.AnnotatedNodeaddAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, getGroovydoc, getInstance, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic
 - 
Methods inherited from class org.codehaus.groovy.ast.ASTNodecopyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.codehaus.groovy.ast.NodeMetaDataHandlercopyNodeMetaData, getNodeMetaData, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setNodeMetaData
 
- 
 
- 
- 
- 
Constructor Detail- 
ExpressionAsVariableSlotpublic ExpressionAsVariableSlot(WriterController controller, Expression expression, String name) 
 - 
ExpressionAsVariableSlotpublic ExpressionAsVariableSlot(WriterController controller, Expression expression) 
 
- 
 - 
Method Detail- 
visitpublic void visit(org.objectweb.asm.MethodVisitor mv) - Specified by:
- visitin class- BytecodeExpression
 
 - 
getIndexpublic int getIndex() returns the index of the bytecode variable
 
- 
 
-