org_aspectj_ajde_core_tests_ResourceCopyTest_java
org.aspectj.weaver.bcel.LazyMethodGen
private void addLocalVariables(MethodGen gen, Map<LocalVariableTag, LVPosition> localVariables) {
        gen.removeLocalVariables();
        InstructionHandle methodStart = gen.getInstructionList().getStart();
        InstructionHandle methodEnd = gen.getInstructionList().getEnd();
        int paramSlots = gen.isStatic() ? 0 : 1;
        Type[] argTypes = gen.getArgumentTypes();
        if (argTypes != null) {
            for (Type argType : argTypes) {
                if (argType.getSize() == 2) {
                    paramSlots += 2;
                    continue;
                }
                ++paramSlots;
            }
        }
        if (!this.enclosingClass.getWorld().generateNewLvts) {
            paramSlots = -1;
        }
        HashMap duplicatedLocalMap = new HashMap();
        for (LocalVariableTag tag : localVariables.keySet()) {
            LVPosition lvpos = localVariables.get(tag);
            InstructionHandle start = tag.getSlot() < paramSlots ? methodStart : lvpos.start;
            InstructionHandle end = tag.getSlot() < paramSlots ? methodEnd : lvpos.end;
            HashSet<Integer> slots = (HashSet<Integer>)duplicatedLocalMap.get(start);
            if (slots == null) {
                slots = new HashSet<Integer>();
                duplicatedLocalMap.put(start, slots);
            } else if (slots.contains(tag.getSlot())) continue;
            slots.add(tag.getSlot());
            Type t = tag.getRealType();
            if (t == null) {
                t = BcelWorld.makeBcelType(UnresolvedType.forSignature(tag.getType()));
            }
            gen.addLocalVariable(tag.getName(), t, tag.getSlot(), start, end);
        }
    }
 -> 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.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.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.charAt(int): char -> java.lang.String.indexOf(int): int -> java.lang.String.indexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.replace(char,char): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.replace(char,char): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> 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.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.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Set.contains(java.lang.Object): boolean -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int -> java.util.Map.get(java.lang.Object): java.lang.Object -> 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.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
 [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 -> 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] -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.charAt(int): char [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] -> java.lang.String.charAt(int): char [EXIT] -> java.lang.String.indexOf(int): int -> java.lang.String.indexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.lang.String.replace(char,char): java.lang.String [CALL] [CALL] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.replace(char,char): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [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 [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] -> 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 [CALL] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Set.contains(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Set.add(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.lang.String.charAt(int): char [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.indexOf(int): int [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [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 [CALL] [EXIT] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] -> 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 [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT]