View Javadoc

1   package serp.bytecode.lowlevel;
2   
3   import java.io.*;
4   
5   import serp.bytecode.visitor.*;
6   import serp.util.*;
7   
8   /***
9    * A constant int value in the constant pool.
10   *
11   * @author Abe White
12   */
13  public class IntEntry extends Entry implements ConstantEntry {
14      private int _value = -1;
15  
16      /***
17       * Default constructor.
18       */
19      public IntEntry() {
20      }
21  
22      /***
23       * Constructor.
24       *
25       * @param value the constant int value of this entry
26       */
27      public IntEntry(int value) {
28          _value = value;
29      }
30  
31      public int getType() {
32          return Entry.INT;
33      }
34  
35      /***
36       * Return the value of this constant.
37       */
38      public int getValue() {
39          return _value;
40      }
41  
42      /***
43       * Set the value of this constant.
44       */
45      public void setValue(int value) {
46          Object key = beforeModify();
47          _value = value;
48          afterModify(key);
49      }
50  
51      public Object getConstant() {
52          return Numbers.valueOf(getValue());
53      }
54  
55      public void setConstant(Object value) {
56          setValue(((Number) value).intValue());
57      }
58  
59      protected void readData(DataInput in) throws IOException {
60          _value = in.readInt();
61      }
62  
63      protected void writeData(DataOutput out) throws IOException {
64          out.writeInt(_value);
65      }
66  
67      public void acceptVisit(BCVisitor visit) {
68          visit.enterIntEntry(this);
69          visit.exitIntEntry(this);
70      }
71  }