JML

org.multijava.util.classfile
Class ConstantValueAttribute

java.lang.Object
  extended byorg.multijava.util.classfile.Attribute
      extended byorg.multijava.util.classfile.ConstantValueAttribute

public class ConstantValueAttribute
extends Attribute

VMS 4.7.3: Constant Value Attribute A ConstantValue attribute represents the value of a constant field that must be (explicitly or implicitly) static


Field Summary
private static AsciiConstant attr
           
private  PooledConstant value
           
 
Constructor Summary
ConstantValueAttribute(DataInput in, ConstantPool cp)
          Constructs a constant value attribute from a class file stream.
ConstantValueAttribute(Object value)
          Create a new constant attribute whose constant value is picked up from constant pool with the given entry.
 
Method Summary
(package private)  Object getLiteral()
          Returns the value of the constant value attribute
protected  int getSize()
          Returns the space in bytes used by this attribute in the classfile
protected  int getTag()
          Returns the attribute's tag
protected  void resolveConstants(ConstantPool cp)
          Insert or check location of constant value on constant pool
protected  void write(ConstantPool cp, DataOutput out)
          Write this class into the the file (out) getting data position from the constant pool
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

attr

private static AsciiConstant attr

value

private PooledConstant value
Constructor Detail

ConstantValueAttribute

public ConstantValueAttribute(Object value)
Create a new constant attribute whose constant value is picked up from constant pool with the given entry.

Parameters:
value - the value

ConstantValueAttribute

public ConstantValueAttribute(DataInput in,
                              ConstantPool cp)
                       throws IOException,
                              ClassFileFormatException
Constructs a constant value attribute from a class file stream.

Parameters:
in - the stream to read from
cp - the constant pool
Throws:
IOException - an io problem has occured
ClassFileFormatException - attempt to write a bad classfile info
Method Detail

getTag

protected int getTag()
Returns the attribute's tag


getSize

protected int getSize()
Returns the space in bytes used by this attribute in the classfile


getLiteral

Object getLiteral()
Returns the value of the constant value attribute


resolveConstants

protected void resolveConstants(ConstantPool cp)
Insert or check location of constant value on constant pool

Parameters:
cp - the constant pool for this class

write

protected void write(ConstantPool cp,
                     DataOutput out)
              throws IOException
Write this class into the the file (out) getting data position from the constant pool

Parameters:
cp - the constant pool that contain all data
out - the file where to write this object info
Throws:
IOException - an io problem has occured

JML

JML is Copyright (C) 1998-2002 by Iowa State University and is distributed under the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This release depends on code from the MultiJava project and is based in part on the Kopi project Copyright (C) 1990-99 DMS Decision Management Systems Ges.m.b.H.