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 }