13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 */
20
21 package com.sun.org.apache.bcel.internal.classfile;
22
23 import java.io.DataInput;
24 import java.io.DataOutputStream;
25 import java.io.IOException;
26
27 import com.sun.org.apache.bcel.internal.Const;
28
29 /**
30 * This class is derived from the abstract {@link Constant}
31 * and represents a reference to a Double object.
32 *
33 * @version $Id$
34 * @see Constant
35 * @LastModified: Jun 2019
36 */
37 public final class ConstantDouble extends Constant implements ConstantObject {
38
39 private double bytes;
40
41
42 /**
43 * @param bytes Data
44 */
45 public ConstantDouble(final double bytes) {
46 super(Const.CONSTANT_Double);
47 this.bytes = bytes;
48 }
49
50
51 /**
52 * Initialize from another object.
53 */
70 /**
71 * Called by objects that are traversing the nodes of the tree implicitely
72 * defined by the contents of a Java class. I.e., the hierarchy of methods,
73 * fields, attributes, etc. spawns a tree of objects.
74 *
75 * @param v Visitor object
76 */
77 @Override
78 public void accept( final Visitor v ) {
79 v.visitConstantDouble(this);
80 }
81
82
83 /**
84 * Dump constant double to file stream in binary format.
85 *
86 * @param file Output file stream
87 * @throws IOException
88 */
89 @Override
90 public final void dump( final DataOutputStream file ) throws IOException {
91 file.writeByte(super.getTag());
92 file.writeDouble(bytes);
93 }
94
95
96 /**
97 * @return data, i.e., 8 bytes.
98 */
99 public final double getBytes() {
100 return bytes;
101 }
102
103
104 /**
105 * @param bytes the raw bytes that represent the double value
106 */
107 public final void setBytes( final double bytes ) {
108 this.bytes = bytes;
109 }
110
111
112 /**
113 * @return String representation.
114 */
115 @Override
116 public final String toString() {
117 return super.toString() + "(bytes = " + bytes + ")";
118 }
119
120
121 /** @return Double object
122 */
123 @Override
124 public Object getConstantValue( final ConstantPool cp ) {
125 return bytes;
126 }
127 }
|
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 */
20
21 package com.sun.org.apache.bcel.internal.classfile;
22
23 import java.io.DataInput;
24 import java.io.DataOutputStream;
25 import java.io.IOException;
26
27 import com.sun.org.apache.bcel.internal.Const;
28
29 /**
30 * This class is derived from the abstract {@link Constant}
31 * and represents a reference to a Double object.
32 *
33 * @see Constant
34 * @LastModified: Jun 2019
35 */
36 public final class ConstantDouble extends Constant implements ConstantObject {
37
38 private double bytes;
39
40
41 /**
42 * @param bytes Data
43 */
44 public ConstantDouble(final double bytes) {
45 super(Const.CONSTANT_Double);
46 this.bytes = bytes;
47 }
48
49
50 /**
51 * Initialize from another object.
52 */
69 /**
70 * Called by objects that are traversing the nodes of the tree implicitely
71 * defined by the contents of a Java class. I.e., the hierarchy of methods,
72 * fields, attributes, etc. spawns a tree of objects.
73 *
74 * @param v Visitor object
75 */
76 @Override
77 public void accept( final Visitor v ) {
78 v.visitConstantDouble(this);
79 }
80
81
82 /**
83 * Dump constant double to file stream in binary format.
84 *
85 * @param file Output file stream
86 * @throws IOException
87 */
88 @Override
89 public void dump( final DataOutputStream file ) throws IOException {
90 file.writeByte(super.getTag());
91 file.writeDouble(bytes);
92 }
93
94
95 /**
96 * @return data, i.e., 8 bytes.
97 */
98 public double getBytes() {
99 return bytes;
100 }
101
102
103 /**
104 * @param bytes the raw bytes that represent the double value
105 */
106 public void setBytes( final double bytes ) {
107 this.bytes = bytes;
108 }
109
110
111 /**
112 * @return String representation.
113 */
114 @Override
115 public String toString() {
116 return super.toString() + "(bytes = " + bytes + ")";
117 }
118
119
120 /** @return Double object
121 */
122 @Override
123 public Object getConstantValue( final ConstantPool cp ) {
124 return bytes;
125 }
126 }
|