forked from JavaTX/JavaCompilerCore
56 lines
1.4 KiB
Java
56 lines
1.4 KiB
Java
|
// ino.module.TimesOp.8611.package
|
||
|
package mycompiler.myoperator;
|
||
|
// ino.end
|
||
|
|
||
|
// ino.module.TimesOp.8611.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.TimesOp.24312.declaration
|
||
|
public class TimesOp extends MulOp
|
||
|
// ino.end
|
||
|
// ino.class.TimesOp.24312.body
|
||
|
{
|
||
|
// ino.method.TimesOp.24316.definition
|
||
|
public TimesOp(int offset,int variableLength)
|
||
|
// ino.end
|
||
|
// ino.method.TimesOp.24316.body
|
||
|
{
|
||
|
super(offset,variableLength);
|
||
|
}
|
||
|
// ino.end
|
||
|
|
||
|
// ino.method.codegen.24319.definition
|
||
|
public void codegen(ClassFile classfile, CodeAttribute code, Expr expr,
|
||
|
boolean neg, Vector paralist)
|
||
|
throws JVMCodeException
|
||
|
// ino.end
|
||
|
// ino.method.codegen.24319.body
|
||
|
{
|
||
|
Expr expr1 = ((Binary) expr).get_Expr1();
|
||
|
Expr expr2 = ((Binary) expr).get_Expr2();
|
||
|
|
||
|
expr1.codegen(classfile, code, paralist);
|
||
|
// unboxing
|
||
|
makePrimitive( classfile, code);
|
||
|
|
||
|
expr2.codegen(classfile, code, paralist);
|
||
|
// unboxing
|
||
|
makePrimitive( classfile, code);
|
||
|
|
||
|
// Die Multiplikation
|
||
|
code.add_code(JVMCode.imul);
|
||
|
|
||
|
// Boxing des Typs
|
||
|
makeWrapper(classfile, code);
|
||
|
}
|
||
|
// ino.end
|
||
|
}
|
||
|
// ino.end
|