jasm.attributes
Class InnerClasses

java.lang.Object
  extended by jasm.attributes.InnerClasses
All Implemented Interfaces:
BytecodeAttribute

public class InnerClasses
extends java.lang.Object
implements BytecodeAttribute


Nested Class Summary
 
Nested classes/interfaces inherited from interface jasm.lang.BytecodeAttribute
BytecodeAttribute.Fn, BytecodeAttribute.Reader, BytecodeAttribute.Unknown
 
Field Summary
protected  java.util.List<Triple<JvmType.Clazz,JvmType.Clazz,java.util.List<Modifier>>> inners
           
protected  JvmType.Clazz type
           
 
Constructor Summary
InnerClasses(JvmType.Clazz type, java.util.List<Triple<JvmType.Clazz,JvmType.Clazz,java.util.List<Modifier>>> inners)
          Create an InnerClasses attribute (see JLS Section 4.7.5).
 
Method Summary
 void addPoolItems(java.util.Set<Constant.Info> constantPool)
          When this method is called, the attribute must add all items that it needs to the constant pool.
 java.util.List<Triple<JvmType.Clazz,JvmType.Clazz,java.util.List<Modifier>>> inners()
           
 java.lang.String name()
           
 void print(java.io.PrintWriter output, java.util.Map<Constant.Info,java.lang.Integer> constantPool)
          This method is used to print the contents of the attribute in human-readable form, similar to that produced by "javap".
 JvmType.Clazz type()
           
 void write(BinaryOutputStream output, java.util.Map<Constant.Info,java.lang.Integer> constantPool)
          Write attribute detailing what direct inner classes there are for this class, or what inner class this class is in.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

inners

protected java.util.List<Triple<JvmType.Clazz,JvmType.Clazz,java.util.List<Modifier>>> inners

type

protected JvmType.Clazz type
Constructor Detail

InnerClasses

public InnerClasses(JvmType.Clazz type,
                    java.util.List<Triple<JvmType.Clazz,JvmType.Clazz,java.util.List<Modifier>>> inners)
Create an InnerClasses attribute (see JLS Section 4.7.5).

Parameters:
type - - the type of the class containing this attribute.
inners - - the types and modifiers for all classes contained in this class.
outers- - the types and modifiers for all classes containing this class.
Method Detail

name

public java.lang.String name()
Specified by:
name in interface BytecodeAttribute

inners

public java.util.List<Triple<JvmType.Clazz,JvmType.Clazz,java.util.List<Modifier>>> inners()

type

public JvmType.Clazz type()

addPoolItems

public void addPoolItems(java.util.Set<Constant.Info> constantPool)
When this method is called, the attribute must add all items that it needs to the constant pool.

Specified by:
addPoolItems in interface BytecodeAttribute
Parameters:
constantPool -

print

public void print(java.io.PrintWriter output,
                  java.util.Map<Constant.Info,java.lang.Integer> constantPool)
Description copied from interface: BytecodeAttribute
This method is used to print the contents of the attribute in human-readable form, similar to that produced by "javap".

Specified by:
print in interface BytecodeAttribute

write

public void write(BinaryOutputStream output,
                  java.util.Map<Constant.Info,java.lang.Integer> constantPool)
           throws java.io.IOException
Write attribute detailing what direct inner classes there are for this class, or what inner class this class is in.

Specified by:
write in interface BytecodeAttribute
Parameters:
clazz -
constantPool -
Throws:
java.io.IOException


Copyright © 2013 David J. Pearce. All Rights Reserved.