forked from JavaTX/JavaCompilerCore
64 lines
1.8 KiB
Java
64 lines
1.8 KiB
Java
|
// ino.module.GreaterOp.8599.package
|
||
|
package mycompiler.myoperator;
|
||
|
// ino.end
|
||
|
// ino.module.GreaterOp.8599.import
|
||
|
import java.util.Vector;
|
||
|
import mycompiler.mybytecode.ClassFile;
|
||
|
import mycompiler.mybytecode.CodeAttribute;
|
||
|
import mycompiler.mybytecode.JVMCode;
|
||
|
import mycompiler.myexception.JVMCodeException;
|
||
|
import mycompiler.mystatement.Binary;
|
||
|
import mycompiler.mystatement.Expr;
|
||
|
// ino.end
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
// ino.class.GreaterOp.24147.declaration
|
||
|
public class GreaterOp extends RelOp
|
||
|
// ino.end
|
||
|
// ino.class.GreaterOp.24147.body
|
||
|
{
|
||
|
// ino.method.GreaterOp.24151.definition
|
||
|
public GreaterOp(int offset, int variableLength)
|
||
|
// ino.end
|
||
|
// ino.method.GreaterOp.24151.body
|
||
|
{
|
||
|
super(offset,variableLength);
|
||
|
}
|
||
|
// ino.end
|
||
|
|
||
|
// ino.method.codegen.24154.definition
|
||
|
public void codegen(ClassFile classfile, CodeAttribute code, Expr expr, boolean not, Vector paralist)
|
||
|
throws JVMCodeException
|
||
|
// ino.end
|
||
|
// ino.method.codegen.24154.body
|
||
|
{
|
||
|
Expr expr1 = ((Binary)expr).get_Expr1();
|
||
|
Expr expr2 = ((Binary)expr).get_Expr2();
|
||
|
expr1.codegen(classfile, code, paralist);
|
||
|
expr2.codegen(classfile, code, paralist);
|
||
|
if(!not) code.add_code(JVMCode.if_icmple);
|
||
|
else code.add_code(JVMCode.if_icmpgt);
|
||
|
code.add_code_short(7);
|
||
|
code.add_code(JVMCode.iconst_1);
|
||
|
code.add_code(JVMCode.goto_);
|
||
|
code.add_code_short(4);
|
||
|
code.add_code(JVMCode.iconst_0);
|
||
|
}
|
||
|
// ino.end
|
||
|
|
||
|
// ino.method.if_codegen.24157.definition
|
||
|
public void if_codegen(ClassFile classfile, CodeAttribute code, String type, boolean not)
|
||
|
throws JVMCodeException
|
||
|
// ino.end
|
||
|
// ino.method.if_codegen.24157.body
|
||
|
{
|
||
|
if(!not) code.add_code(JVMCode.if_icmple);
|
||
|
else code.add_code(JVMCode.if_icmpgt);
|
||
|
}
|
||
|
// ino.end
|
||
|
|
||
|
}
|
||
|
// ino.end
|