1/* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved. 2 * 3 * This program and the accompanying materials are made available under 4 * the terms of the Common Public License v1.0 which accompanies this distribution, 5 * and is available at http://www.eclipse.org/legal/cpl-v10.html 6 * 7 * $Id: CONSTANT_Float_info.java,v 1.1.1.1 2004/05/09 16:57:48 vlad_r Exp $ 8 */ 9package com.vladium.jcd.cls.constant; 10 11import java.io.IOException; 12 13import com.vladium.jcd.lib.UDataInputStream; 14import com.vladium.jcd.lib.UDataOutputStream; 15 16// ---------------------------------------------------------------------------- 17/** 18 * The CONSTANT_Integer_info and CONSTANT_Float_info structures represent 19 * four-byte numeric (int and float) constants.<P> 20 * 21 * The bytes item of the CONSTANT_Float_info structure contains the value of 22 * the float constant in IEEE 754 floating-point "single format" bit layout. 23 * 24 * @author (C) 2001, Vlad Roubtsov 25 */ 26public 27final class CONSTANT_Float_info extends CONSTANT_literal_info 28{ 29 // public: ................................................................ 30 31 public static final byte TAG = 4; 32 33 public float m_value; 34 35 36 public CONSTANT_Float_info (final float value) 37 { 38 m_value = value; 39 } 40 41 public final byte tag () 42 { 43 return TAG; 44 } 45 46 // Visitor: 47 48 public Object accept (final ICONSTANTVisitor visitor, final Object ctx) 49 { 50 return visitor.visit (this, ctx); 51 } 52 53 public String toString () 54 { 55 return Float.toString (m_value); 56 } 57 58 // Cloneable: inherited clone() is Ok 59 60 // IClassFormatOutput: 61 62 public void writeInClassFormat (final UDataOutputStream out) throws IOException 63 { 64 super.writeInClassFormat (out); 65 66 out.writeFloat (m_value); 67 } 68 69 // protected: ............................................................. 70 71 72 protected CONSTANT_Float_info (final UDataInputStream bytes) throws IOException 73 { 74 m_value = bytes.readFloat (); 75 } 76 77 // package: ............................................................... 78 79 // private: ............................................................... 80 81} // end of class 82// ---------------------------------------------------------------------------- 83