org_aspectj_ajde_core_tests_ShowWeaveMessagesTest_java
org.aspectj.weaver.bcel.LazyMethodGen
public MethodGen pack() {
        this.forceSyntheticForAjcMagicMembers();
        int flags = this.getAccessFlags();
        if (this.enclosingClass.getWorld().isJoinpointSynchronizationEnabled() && this.enclosingClass.getWorld().areSynchronizationPointcutsInUse()) {
            flags = this.getAccessFlagsWithoutSynchronized();
        }
        MethodGen gen = new MethodGen(flags, this.getReturnType(), this.getArgumentTypes(), null, this.getName(), this.getEnclosingClass().getName(), new InstructionList(), this.getEnclosingClass().getConstantPool());
        for (String declaredException : this.declaredExceptions) {
            gen.addException(declaredException);
        }
        for (Attribute attr : this.attributes) {
            gen.addAttribute(attr);
        }
        if (this.newAnnotations != null) {
            for (AnnotationAJ element : this.newAnnotations) {
                gen.addAnnotation(new AnnotationGen(((BcelAnnotation)element).getBcelAnnotation(), gen.getConstantPool(), true));
            }
        }
        if (this.newParameterAnnotations != null) {
            for (int i = 0; i < this.newParameterAnnotations.length; ++i) {
                AnnotationAJ[] annos;
                for (AnnotationAJ anno : annos = this.newParameterAnnotations[i]) {
                    gen.addParameterAnnotation(i, new AnnotationGen(((BcelAnnotation)anno).getBcelAnnotation(), gen.getConstantPool(), true));
                }
            }
        }
        if (this.memberView != null && this.memberView.getAnnotations() != null && this.memberView.getAnnotations().length != 0) {
            AnnotationAJ[] ans;
            for (AnnotationAJ an : ans = this.memberView.getAnnotations()) {
                AnnotationGen a = ((BcelAnnotation)an).getBcelAnnotation();
                gen.addAnnotation(new AnnotationGen(a, gen.getConstantPool(), true));
            }
        }
        if (this.isSynthetic) {
            if (this.enclosingClass.getWorld().isInJava5Mode()) {
                gen.setModifiers(gen.getModifiers() | 0x1000);
            }
            if (!this.hasAttribute("Synthetic")) {
                ConstantPool cpg = gen.getConstantPool();
                int index = cpg.addUtf8("Synthetic");
                gen.addAttribute(new Synthetic(index, 0, new byte[0], cpg));
            }
        }
        if (this.hasBody()) {
            if (this.enclosingClass.getWorld().shouldFastPackMethods()) {
                if (this.isAdviceMethod() || this.getName().equals("<clinit>")) {
                    this.packBody(gen);
                } else {
                    this.optimizedPackBody(gen);
                }
            } else {
                this.packBody(gen);
            }
            gen.setMaxLocals(true);
            gen.setMaxStack();
        } else {
            gen.setInstructionList(null);
        }
        return gen;
    }
 -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.contains(java.lang.CharSequence): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Collections.emptySet(): java.util.Set -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Object.clone(): 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.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.Map.get(java.lang.Object): java.lang.Object -> java.util.Set.iterator(): java.util.Iterator -> 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.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Set.iterator(): java.util.Iterator -> 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.lang.String.startsWith(java.lang.String): boolean -> java.util.List.size(): int -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] -> java.util.Set.add(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.ArrayList.size(): int -> java.util.ArrayList.toArray(java.lang.Object[]): java.lang.Object[] -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.util.Stack.empty(): boolean
 [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.contains(java.lang.CharSequence): boolean [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [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] -> java.lang.Object.clone(): java.lang.Object [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] [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] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Set.iterator(): java.util.Iterator -> 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 [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 [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 [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] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Map.size(): int [CALL] [CALL] -> java.util.List.clear(): void [EXIT] [CALL] [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] [EXIT] [CALL] [EXIT] [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] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.ArrayList.size(): int -> java.util.ArrayList.toArray(java.lang.Object[]): java.lang.Object[] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int): java.lang.String [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Stack.empty(): boolean [EXIT] [EXIT] [EXIT] [EXIT]