gnu.bytecode
Class SourceDebugExtAttr

java.lang.Object
  extended by gnu.bytecode.Attribute
      extended by gnu.bytecode.SourceDebugExtAttr

public class SourceDebugExtAttr
extends Attribute

Represents the contents of a JSR-45 "SourceDebugExtension" attribute. We only support generating a single "stratum".


Constructor Summary
SourceDebugExtAttr(ClassType cl)
          Add a new InnerClassesAttr to a ClassType.
 
Method Summary
 void addStratum(java.lang.String name)
           
 void assignConstants(ClassType cl)
          Add any needed constant pool entries for this Attribute.
 int getLength()
          Return the length of the attribute in bytes.
 void print(ClassTypeWriter dst)
           
 void write(java.io.DataOutputStream dstr)
          Write out the contents of the Attribute.
 
Methods inherited from class gnu.bytecode.Attribute
addToFrontOf, assignConstants, count, get, getContainer, getLengthAll, getName, getNameIndex, getNext, isSkipped, setContainer, setName, setNameIndex, setNext, setSkipped, setSkipped, writeAll
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SourceDebugExtAttr

public SourceDebugExtAttr(ClassType cl)
Add a new InnerClassesAttr to a ClassType.

Method Detail

addStratum

public void addStratum(java.lang.String name)

assignConstants

public void assignConstants(ClassType cl)
Description copied from class: Attribute
Add any needed constant pool entries for this Attribute. Overridden by sub-classes. Do any other cleanup needed before writing out a .class file.

Overrides:
assignConstants in class Attribute

getLength

public int getLength()
Return the length of the attribute in bytes. Does not include the 6-byte header (for the name_index and the length).

Specified by:
getLength in class Attribute

write

public void write(java.io.DataOutputStream dstr)
           throws java.io.IOException
Write out the contents of the Attribute. Does not write the 6-byte attribute header.

Specified by:
write in class Attribute
Throws:
java.io.IOException

print

public void print(ClassTypeWriter dst)
Overrides:
print in class Attribute