99
1010import symjava .symbolic .Expr ;
1111
12- public class CloudBase extends Expr {
12+ public abstract class CloudBase extends Expr {
1313
1414 @ Override
1515 public Expr simplify () {
@@ -35,68 +35,5 @@ public TYPE getType() {
3535 return null ;
3636 }
3737
38- public int declareLocal (CloudVar var , MethodGen mg , InstructionList il ) {
39- //variable name
40- //initial value
41- //index in local variable table (LVT)
42- if (var instanceof CloudInt ) {
43- LocalVariableGen lg = mg .addLocalVariable (var .getLabel (),
44- Type .INT , null , null );
45- int idx = lg .getIndex ();
46- //il.append(InstructionConstants.ICONST_0);
47- //lg.setStart(il.append(new DSTORE(idx)));
48- return idx ;
49- } else if (var instanceof CloudLong ) {
50- LocalVariableGen lg = mg .addLocalVariable (var .getLabel (),
51- Type .LONG , null , null );
52- int idx = lg .getIndex ();
53- il .append (InstructionConstants .LCONST_0 );
54- lg .setStart (il .append (new DSTORE (idx )));
55- return idx ;
56-
57- } else if (var instanceof CloudFloat ) {
58- LocalVariableGen lg = mg .addLocalVariable (var .getLabel (),
59- Type .FLOAT , null , null );
60- int idx = lg .getIndex ();
61- il .append (InstructionConstants .FCONST_0 );
62- lg .setStart (il .append (new DSTORE (idx )));
63- return idx ;
64- } else if (var instanceof CloudDouble ) {
65- LocalVariableGen lg = mg .addLocalVariable (var .getLabel (),
66- Type .DOUBLE , null , null );
67- int idx = lg .getIndex ();
68- il .append (InstructionConstants .DCONST_0 );
69- lg .setStart (il .append (new DSTORE (idx )));
70- return idx ;
71- } else if (var instanceof CloudBoolean ) {
72- LocalVariableGen lg = mg .addLocalVariable (var .getLabel (),
73- Type .BOOLEAN , null , null );
74- int idx = lg .getIndex ();
75- il .append (InstructionConstants .ICONST_0 );
76- lg .setStart (il .append (new DSTORE (idx )));
77- return idx ;
78- } else if (var instanceof CloudChar ) {
79- LocalVariableGen lg = mg .addLocalVariable (var .getLabel (),
80- Type .CHAR , null , null );
81- int idx = lg .getIndex ();
82- il .append (InstructionConstants .ICONST_0 );
83- lg .setStart (il .append (new DSTORE (idx )));
84- return idx ;
85- } else if (var instanceof CloudByte ) {
86- LocalVariableGen lg = mg .addLocalVariable (var .getLabel (),
87- Type .BYTE , null , null );
88- int idx = lg .getIndex ();
89- il .append (InstructionConstants .ICONST_0 );
90- lg .setStart (il .append (new DSTORE (idx )));
91- return idx ;
92- } else if (var instanceof CloudShort ) {
93- LocalVariableGen lg = mg .addLocalVariable (var .getLabel (),
94- Type .SHORT , null , null );
95- int idx = lg .getIndex ();
96- il .append (InstructionConstants .ICONST_0 );
97- lg .setStart (il .append (new DSTORE (idx )));
98- return idx ;
99- }
100- throw new RuntimeException ();
101- }
38+
10239}
0 commit comments