list.add(mdr);
Attributes attr = method.getAttributes();
CodeAttribute codeAttr = attr.getCode();
LineNumberTableAttribute lnAttr = null;
LocalVariableTableAttribute lvs = null;
if (codeAttr != null) {
if (codeAttr.getAttributes() != null) {
lnAttr = codeAttr.getAttributes().getLineNumberTable();
lvs = codeAttr.getAttributes().getLocalVariableTable();
}
Code code = codeAttr.getCode();
DecompilationContext dc = code.createDecompilationContext();
List instructions = code.getInstructions();
dc.setPosition(0);
for (int j = 0; j < instructions.size(); j++) {
Instruction instruction = (Instruction) instructions.get(j);
if (instruction instanceof Label) {
LabelRow lr = new LabelRow((Label) instruction, mdr);
lr.setParentCode(code);
list.add(lr);
mdr.addCodeRow(lr);
} else {
int lineNumber = -1;
if (lnAttr != null) {
lineNumber = lnAttr.getLineNumber(dc.getPosition());
}
if (lvs != null) {
List locals = lvs
.getLocalVariable(dc.getPosition());
for (int k = 0; k < locals.size(); k++) {