org_aspectj_ajde_core_tests_ShowWeaveMessagesTest_java
org.aspectj.weaver.bcel.LazyMethodGen
public void packBody(MethodGen gen) {
        int lineNumberOffset;
        InstructionList fresh = gen.getInstructionList();
        Map<InstructionHandle, InstructionHandle> map = this.copyAllInstructionsExceptRangeInstructionsInto(fresh);
        InstructionHandle oldInstructionHandle = this.getBody().getStart();
        InstructionHandle newInstructionHandle = fresh.getStart();
        LinkedList<ExceptionRange> exceptionList = new LinkedList<ExceptionRange>();
        HashMap<LocalVariableTag, LVPosition> localVariables = new HashMap<LocalVariableTag, LVPosition>();
        int currLine = -1;
        int n = lineNumberOffset = this.fromFilename == null ? 0 : this.getEnclosingClass().getSourceDebugExtensionOffset(this.fromFilename);
        while (oldInstructionHandle != null) {
            if (map.get(oldInstructionHandle) == null) {
                this.handleRangeInstruction(oldInstructionHandle, exceptionList);
                oldInstructionHandle = oldInstructionHandle.getNext();
                continue;
            }
            Instruction oldInstruction = oldInstructionHandle.getInstruction();
            Instruction newInstruction = newInstructionHandle.getInstruction();
            if (oldInstruction instanceof InstructionBranch) {
                this.handleBranchInstruction(map, oldInstruction, newInstruction);
            }
            for (InstructionTargeter targeter : oldInstructionHandle.getTargeters()) {
                if (targeter instanceof LineNumberTag) {
                    int line = ((LineNumberTag)targeter).getLineNumber();
                    if (line == currLine) continue;
                    gen.addLineNumber(newInstructionHandle, line + lineNumberOffset);
                    currLine = line;
                    continue;
                }
                if (!(targeter instanceof LocalVariableTag)) continue;
                LocalVariableTag lvt = (LocalVariableTag)targeter;
                LVPosition p = (LVPosition)localVariables.get(lvt);
                if (p == null) {
                    LVPosition newp = new LVPosition();
                    newp.start = newp.end = newInstructionHandle;
                    localVariables.put(lvt, newp);
                    continue;
                }
                p.end = newInstructionHandle;
            }
            oldInstructionHandle = oldInstructionHandle.getNext();
            newInstructionHandle = newInstructionHandle.getNext();
        }
        this.addExceptionHandlers(gen, map, exceptionList);
        if (this.originalMethodHasLocalVariableTable || this.enclosingClass.getBcelObjectType().getResolvedTypeX().getWorld().generateNewLvts) {
            if (localVariables.size() == 0) {
                this.createNewLocalVariables(gen);
            } else {
                this.addLocalVariables(gen, localVariables);
            }
        }
        if (gen.getLineNumbers().length == 0) {
            gen.addLineNumber(gen.getInstructionList().getStart(), 1);
        }
    }
 -> java.util.Collections.emptySet(): java.util.Set -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Collections.emptySet(): java.util.Set -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Set.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.Iterable.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Map.size(): int -> java.util.List.clear(): void -> java.util.Map.keySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Set.add(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.util.List.indexOf(java.lang.Object): int -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[]
 [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Collections.emptySet(): java.util.Set [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Collections.emptySet(): java.util.Set [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [EXIT] -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Set.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [CALL] [EXIT] -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.lang.Iterable.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.util.Map.size(): int [CALL] [CALL] -> java.util.List.clear(): void [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Map.keySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Set.add(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.Set.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Set.add(java.lang.Object): boolean [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.indexOf(java.lang.Object): int -> java.util.List.add(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] [EXIT] [EXIT]