| Constructor and description |
|---|
OperandStack
(WriterController wc) |
| Type | Name and description |
|---|---|
ClassNode |
box() |
void |
castToBool(int mark, boolean emptyDefault)ensure last marked parameter on the stack is a primitive boolean if mark==stack size, we assume an empty expression or statement. |
void |
doAsType(ClassNode targetType) |
void |
doGroovyCast(ClassNode targetType) |
void |
doGroovyCast(Variable v) |
void |
dup() |
int |
getStackLength() |
ClassNode |
getTopOperand() |
org.objectweb.asm.Label |
jump(int ifIns) |
void |
jump(int ifIns, org.objectweb.asm.Label label)duplicate top element |
void |
load(ClassNode type, int idx) |
void |
loadOrStoreVariable(BytecodeVariable variable, boolean useReferenceDirectly) |
void |
pop()remove operand stack top element using bytecode pop |
void |
popDownTo(int elements) |
void |
push(ClassNode type)swap two top level operands |
void |
pushBool(boolean inclusive) |
void |
pushConstant(ConstantExpression expression) |
void |
pushDynamicName(Expression name) |
void |
remove(int amount)Remove amount elements from the operand stack, without using pop. |
void |
replace(ClassNode type)replace top level element with new element of given type |
void |
replace(ClassNode type, int n) |
void |
storeVar(BytecodeVariable variable) |
void |
swap() |
String |
toString() |
ensure last marked parameter on the stack is a primitive boolean if mark==stack size, we assume an empty expression or statement. was used and we will use the value given in emptyDefault as boolean if mark==stack.size()-1 the top element will be cast to boolean using Groovy truth. In other cases we throw a GroovyBugError
duplicate top element
remove operand stack top element using bytecode pop
swap two top level operands
Remove amount elements from the operand stack, without using pop. For example after a method invocation
replace top level element with new element of given type
Copyright © 2003-2014 The Codehaus. All rights reserved.