View Javadoc

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