JML

org.multijava.util.classfile
Class InnerClassTable

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

public class InnerClassTable
extends Attribute

This represents an InnerClasses attribute. This attribute declares the encoding of bytecode names of classes or interfaces which are not package members. It contains an array of records, one for each encoded name. See JVM2, 4.7.5.


Field Summary
private static AsciiConstant attr
           
private  InnerClassInfo[] entries
           
 
Constructor Summary
InnerClassTable(DataInput in, ConstantPool cp)
          Constructs an InnerClasses attribute from a class file stream.
InnerClassTable(InnerClassInfo[] entries)
          Create a InnerClasses attribute.
 
Method Summary
(package private)  InnerClassInfo[] getEntries()
          Returns the entries in this table as an array.
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

entries

private InnerClassInfo[] entries
Constructor Detail

InnerClassTable

public InnerClassTable(InnerClassInfo[] entries)
Create a InnerClasses attribute.


InnerClassTable

public InnerClassTable(DataInput in,
                       ConstantPool cp)
                throws IOException,
                       ClassFileFormatException
Constructs an InnerClasses 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


getEntries

InnerClassInfo[] getEntries()
Returns the entries in this table as an array.


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.