harpoon.IR.RawClass
Class AttributeInnerClasses

java.lang.Object
  extended by harpoon.IR.RawClass.Attribute
      extended by harpoon.IR.RawClass.AttributeInnerClasses

public class AttributeInnerClasses
extends Attribute

InnerClasses attributes define the encodings of bytecode names of inner classes. The attribute is stored in the ClassFile structure.

Each array element in the attribute records a class with an encoded name, its defining scope, its simple name, and a bitmask of the originally declared, untransformed access flags.

Version:
$Id: AttributeInnerClasses.java,v 1.3 2003/09/05 21:45:16 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>
See Also:
"Inner Classes Specification", InnerClass, Attribute, ClassFile

Field Summary
static String ATTRIBUTE_NAME
          The string naming this Attribute type.
 InnerClass[] classes
          Each array element records a class with an encoded name, its defining scope, its simple name, and its originally declared access flags.
 
Fields inherited from class harpoon.IR.RawClass.Attribute
attribute_name_index, parent
 
Constructor Summary
AttributeInnerClasses(ClassFile parent, int attribute_name_index, InnerClass[] classes)
          Constructor.
 
Method Summary
 long attribute_length()
          The value of the attribute_length item indicates the length of the attribute, excluding the initial six bytes.
 InnerClass classes(int i)
           
 int number_of_classes()
           
 void print(PrintWriter pw, int indent)
          Pretty-print this attribute structure.
 void write(ClassDataOutputStream out)
          Write to bytecode stream.
 
Methods inherited from class harpoon.IR.RawClass.Attribute
attribute_name_index, attribute_name, read, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ATTRIBUTE_NAME

public static final String ATTRIBUTE_NAME
The string naming this Attribute type.

See Also:
Constant Field Values

classes

public InnerClass[] classes
Each array element records a class with an encoded name, its defining scope, its simple name, and its originally declared access flags.

Constructor Detail

AttributeInnerClasses

public AttributeInnerClasses(ClassFile parent,
                             int attribute_name_index,
                             InnerClass[] classes)
Constructor.

Method Detail

attribute_length

public long attribute_length()
Description copied from class: Attribute
The value of the attribute_length item indicates the length of the attribute, excluding the initial six bytes.

Specified by:
attribute_length in class Attribute

number_of_classes

public int number_of_classes()

classes

public InnerClass classes(int i)

write

public void write(ClassDataOutputStream out)
           throws IOException
Write to bytecode stream.

Specified by:
write in class Attribute
Throws:
IOException

print

public void print(PrintWriter pw,
                  int indent)
Pretty-print this attribute structure.

Overrides:
print in class Attribute