public class OPbinary extends OP
| Modifier and Type | Field and Description |
|---|---|
int |
code
code of this operation
|
protected static byte[][] |
promotions
binary promotions of base types
|
chi, resID, resType, specialTypes, unwrapType| Constructor and Description |
|---|
OPbinary(java.util.Stack<OP> paramOPs,
int opcode)
Constructs a new binary operation.
|
| Modifier and Type | Method and Description |
|---|---|
void |
compile(ClassFile cf)
Called to generate the code implementing this OP.
|
java.lang.Object |
eval()
Called to evaluate this node and all its sub-nodes.
|
isWidening, isWidening, narrow, typeID, typeIDObject, widenpublic int code
protected static final byte[][] promotions
public OPbinary(java.util.Stack<OP> paramOPs, int opcode) throws CompilationException
Codes are following:
0 -- addition 1 -- substraction 2 -- multiplication 3 -- division 4 -- remainder 5 -- bitwise AND 6 -- bitwise OR 7 -- bitwise and logical XOR 8 -- comparizon for equality 9 -- comparizon for non-equality 10 -- comparizon for "less" < 11 -- comparizon for "greater or equal" >= 12 -- comparizon for "greater" > 13 -- comparizon for "less or equal" <= 14 -- bitwise left shift << 15 -- bitwise right signed shift >> 16 -- bitwise right unsigned shift >>> 17 -- logical conjunction operator (AND) 18 -- logical disjunction operator (OR) 19 -- array element access operation 20 -- reserved (used internally for string concatenation)
paramOPs - stack holding the operandsopcode - is the operation codeCompilationExceptionpublic void compile(ClassFile cf)
OPpublic java.lang.Object eval()
throws java.lang.Exception
OPUpon success this node is to be replaced by the constant node holding the returned object.
Copyright © 1998-2016 Konstantin L. Metlov All Rights Reserved.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the JEL manual.