|
TechTrader Bytecode Toolkit | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.techtrader.modules.tools.bytecode.BCEntity | +--com.techtrader.modules.tools.bytecode.Attribute | +--com.techtrader.modules.tools.bytecode.LineNumberTableAttribute
A LineNumberTableAttributs holds a table of line number to program counter mappings, so that errors can be reported with the correct line number. TODO: Allow high-level manipulation of the line numbers.
Fields inherited from class com.techtrader.modules.tools.bytecode.Attribute |
_nameIndex,
_owner |
Constructor Summary | |
LineNumberTableAttribute(int nameIndex,
BCEntity owner)
Protected constructor. |
Method Summary | |
void |
acceptVisit(BCVisitor visit)
Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this object. |
LineNumber |
addLineNumber()
Add a new line number to this table. |
void |
clearLineNumbers()
Clear the line numbers. |
protected void |
copy(Attribute other)
Copy the information from the given attribute to this one. |
int |
getLength()
Return the length of the .class representation of this attribute, in bytes. |
LineNumber[] |
getLineNumbers()
Get the line numbers held in this table. |
LineNumber |
importLineNumber(LineNumber ln)
Import a line number from another method. |
void |
importLineNumbers(LineNumberTableAttribute lns)
Import all line numbers from another method. |
protected void |
readData(DataInput in,
int length)
Should be overridden by subclasses to read their internal data from the given stream, up to length bytes, excluding the name index. |
boolean |
removeLineNumber(LineNumber ln)
Remove the given LineNumber. |
protected void |
writeData(DataOutput out,
int length)
Should be overridden by subclasses to write their internal data to the given stream, up to length bytes, excluding the name index. |
Methods inherited from class com.techtrader.modules.tools.bytecode.Attribute |
createAttribute,
getName,
getNameIndex,
getOwner,
getPool,
invalidate |
Methods inherited from class com.techtrader.modules.tools.bytecode.BCEntity |
addAttribute,
clearAttributes,
getAttribute,
getAttributes,
getAttributes,
importAttribute,
importAttributes,
readAttributes,
removeAttribute,
removeAttribute,
visitAttributes,
writeAttributes |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
public LineNumberTableAttribute(int nameIndex, BCEntity owner)
Method Detail |
public LineNumber[] getLineNumbers()
public LineNumber importLineNumber(LineNumber ln)
public void importLineNumbers(LineNumberTableAttribute lns)
public LineNumber addLineNumber()
public void clearLineNumbers()
public boolean removeLineNumber(LineNumber ln)
public int getLength()
protected void copy(Attribute other)
protected void readData(DataInput in, int length) throws IOException
protected void writeData(DataOutput out, int length) throws IOException
public void acceptVisit(BCVisitor visit)
|
TechTrader Bytecode Toolkit | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |