|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgnu.jel.OP
gnu.jel.OPunary
public class OPunary
A tree node, representing unary operation.
Field Summary | |
---|---|
int |
code
code of this operation |
protected static byte[] |
unary_prmtns
unary promotions of base types |
Fields inherited from class gnu.jel.OP |
---|
chi, resID, resType, specialTypes, unwrapType |
Constructor Summary | |
---|---|
OPunary(Stack paramOPs,
int code)
Constructs a new unary operation. |
|
OPunary(Stack paramOPs,
int targetID,
Class targetClass,
boolean allownarrowing)
Creates conversion operation to the given class. |
Method Summary | |
---|---|
void |
compile(ClassFile cf)
Called to generate the code implementing this OP. |
Object |
eval()
Called to evaluate this node and all its sub-nodes. |
Methods inherited from class gnu.jel.OP |
---|
isWidening, isWidening, narrow, typeID, typeIDObject, widen |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public int code
protected static final byte[] unary_prmtns
Constructor Detail |
---|
public OPunary(Stack paramOPs, int code) throws CompilationException
Codes are following:
0 -- negation (applicable to anything except boolean) 1 -- bitwise not (applicable to all integral types) 2 -- logical not (applicable to booleans only) 3 -- return the type in stack
paramOPs
- stack holding the operandscode
- operation code
CompilationException
public OPunary(Stack paramOPs, int targetID, Class targetClass, boolean allownarrowing) throws CompilationException
paramOPs
- stack holding the operandstargetID
- ID of primitive type to convert to.targetClass
- the class to convert to, in case cldID=8allownarrowing
- if narrowing conversions are allowed.
CompilationException
Method Detail |
---|
public void compile(ClassFile cf)
OP
compile
in class OP
cf
- class file with a new open method to write the code into.public Object eval() throws Exception
OP
Upon success this node is to be replaced by the constant node holding the returned object.
eval
in class OP
Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |