< prev index next >
src/java.xml/share/classes/com/sun/org/apache/bcel/internal/generic/FCONST.java
Print this page
*** 18,77 ****
* limitations under the License.
*/
package com.sun.org.apache.bcel.internal.generic;
-
/**
* FCONST - Push 0.0, 1.0 or 2.0, other values cause an exception
*
* <PRE>Stack: ... -> ..., </PRE>
*
! * @author <A HREF="mailto:markus.dahm@berlin.de">M. Dahm</A>
*/
! public class FCONST extends Instruction
! implements ConstantPushInstruction, TypedInstruction {
private float value;
/**
* Empty constructor needed for the Class.newInstance() statement in
* Instruction.readInstruction(). Not to be used otherwise.
*/
! FCONST() {}
- public FCONST(float f) {
- super(com.sun.org.apache.bcel.internal.Constants.FCONST_0, (short)1);
! if(f == 0.0)
! opcode = com.sun.org.apache.bcel.internal.Constants.FCONST_0;
! else if(f == 1.0)
! opcode = com.sun.org.apache.bcel.internal.Constants.FCONST_1;
! else if(f == 2.0)
! opcode = com.sun.org.apache.bcel.internal.Constants.FCONST_2;
! else
throw new ClassGenException("FCONST can be used only for 0.0, 1.0 and 2.0: " + f);
!
value = f;
}
! public Number getValue() { return Float.valueOf(value); }
/** @return Type.FLOAT
*/
! public Type getType(ConstantPoolGen cp) {
return Type.FLOAT;
}
/**
* Call corresponding visitor method(s). The order is:
* Call visitor methods of implemented interfaces first, then
* call methods according to the class hierarchy in descending order,
* i.e., the most specific visitXXX() call comes last.
*
* @param v Visitor object
*/
! public void accept(Visitor v) {
v.visitPushInstruction(this);
v.visitStackProducer(this);
v.visitTypedInstruction(this);
v.visitConstantPushInstruction(this);
v.visitFCONST(this);
--- 18,86 ----
* limitations under the License.
*/
package com.sun.org.apache.bcel.internal.generic;
/**
* FCONST - Push 0.0, 1.0 or 2.0, other values cause an exception
*
* <PRE>Stack: ... -> ..., </PRE>
*
! * @version $Id: FCONST.java 1747278 2016-06-07 17:28:43Z britter $
*/
! public class FCONST extends Instruction implements ConstantPushInstruction {
!
private float value;
+
/**
* Empty constructor needed for the Class.newInstance() statement in
* Instruction.readInstruction(). Not to be used otherwise.
*/
! FCONST() {
! }
! public FCONST(final float f) {
! super(com.sun.org.apache.bcel.internal.Const.FCONST_0, (short) 1);
! if (f == 0.0) {
! super.setOpcode(com.sun.org.apache.bcel.internal.Const.FCONST_0);
! } else if (f == 1.0) {
! super.setOpcode(com.sun.org.apache.bcel.internal.Const.FCONST_1);
! } else if (f == 2.0) {
! super.setOpcode(com.sun.org.apache.bcel.internal.Const.FCONST_2);
! } else {
throw new ClassGenException("FCONST can be used only for 0.0, 1.0 and 2.0: " + f);
! }
value = f;
}
!
! @Override
! public Number getValue() {
! return new Float(value);
! }
!
/** @return Type.FLOAT
*/
! @Override
! public Type getType( final ConstantPoolGen cp ) {
return Type.FLOAT;
}
+
/**
* Call corresponding visitor method(s). The order is:
* Call visitor methods of implemented interfaces first, then
* call methods according to the class hierarchy in descending order,
* i.e., the most specific visitXXX() call comes last.
*
* @param v Visitor object
*/
! @Override
! public void accept( final Visitor v ) {
v.visitPushInstruction(this);
v.visitStackProducer(this);
v.visitTypedInstruction(this);
v.visitConstantPushInstruction(this);
v.visitFCONST(this);
< prev index next >