1 17 package org.apache.bcel.generic; 18 19 27 public class DCONST extends Instruction implements ConstantPushInstruction, TypedInstruction { 28 29 private double value; 30 31 32 36 DCONST() { 37 } 38 39 40 public DCONST(double f) { 41 super(org.apache.bcel.Constants.DCONST_0, (short) 1); 42 if (f == 0.0) { 43 opcode = org.apache.bcel.Constants.DCONST_0; 44 } else if (f == 1.0) { 45 opcode = org.apache.bcel.Constants.DCONST_1; 46 } else { 47 throw new ClassGenException("DCONST can be used only for 0.0 and 1.0: " + f); 48 } 49 value = f; 50 } 51 52 53 public Number getValue() { 54 return new Double (value); 55 } 56 57 58 60 public Type getType( ConstantPoolGen cp ) { 61 return Type.DOUBLE; 62 } 63 64 65 73 public void accept( Visitor v ) { 74 v.visitPushInstruction(this); 75 v.visitStackProducer(this); 76 v.visitTypedInstruction(this); 77 v.visitConstantPushInstruction(this); 78 v.visitDCONST(this); 79 } 80 } 81 | Popular Tags |