blob: ee025adaf0b058dd33d4ac8286972293130bb716 [file] [log] [blame]
/* Generated By:JJTree: Do not edit this line. ASTInteger.java */
/* JJT: 0.3pre1 */
package Mini;
import org.apache.bcel.classfile.*;
import org.apache.bcel.generic.*;
/**
*
* @version $Id$
* @author <A HREF="http://www.berlin.de/~markus.dahm/">M. Dahm</A>
*/
public class ASTInteger extends ASTExpr {
private int value;
// Generated methods
ASTInteger(int id) {
super(id);
}
ASTInteger(MiniParser p, int id) {
super(p, id);
}
public static Node jjtCreate(MiniParser p, int id) {
return new ASTInteger(p, id);
}
// closeNode, dump inherited from Expr
/**
* @return identifier and line/column number of appearance
*/
public String toString() {
return super.toString() + " = " + value;
}
/**
* Overrides ASTExpr.traverse()
*/
public ASTExpr traverse(Environment env) {
this.env = env;
return this; // Nothing to reduce/traverse here
}
/**
* Second pass
* Overrides AstExpr.eval()
* @return type of expression
*/
public int eval(int expected) {
is_simple = true; // (Very) simple expression, always true
return type = T_INT;
}
/**
* Fourth pass, produce Java code.
*/
public void code(StringBuffer buf) {
ASTFunDecl.push(buf, "" + value);
}
/**
* Fifth pass, produce Java byte code.
*/
public void byte_code(InstructionList il, MethodGen method, ConstantPoolGen cp) {
il.append(new PUSH(cp, value)); ASTFunDecl.push();
}
void setValue(int value) { this.value = value; }
int getValue() { return value; }
}