org_aspectj_apache_bcel_classfile_tests_GeneratingAnnotatedClassesTest_java
org.aspectj.apache.bcel.generic.ClassGen
public ClassGen(JavaClass clazz) {
        String[] interfaces;
        this.classnameIndex = clazz.getClassNameIndex();
        this.superclassnameIndex = clazz.getSuperclassNameIndex();
        this.classname = clazz.getClassName();
        this.superclassname = clazz.getSuperclassName();
        this.filename = clazz.getSourceFileName();
        this.modifiers = clazz.getModifiers();
        this.cpool = clazz.getConstantPool().copy();
        this.major = clazz.getMajor();
        this.minor = clazz.getMinor();
        Method[] methods = clazz.getMethods();
        Field[] fields = clazz.getFields();
        for (String anInterface : interfaces = clazz.getInterfaceNames()) {
            this.addInterface(anInterface);
        }
        Attribute[] attributes = clazz.getAttributes();
        for (Attribute attribute : attributes) {
            List<AnnotationGen> annos;
            if (attribute instanceof RuntimeVisAnnos) {
                RuntimeVisAnnos rva = (RuntimeVisAnnos)attribute;
                annos = rva.getAnnotations();
                for (AnnotationGen a : annos) {
                    this.annotationsList.add(new AnnotationGen(a, this.cpool, false));
                }
                continue;
            }
            if (attribute instanceof RuntimeInvisAnnos) {
                RuntimeInvisAnnos ria = (RuntimeInvisAnnos)attribute;
                annos = ria.getAnnotations();
                for (AnnotationGen anno : annos) {
                    this.annotationsList.add(new AnnotationGen(anno, this.cpool, false));
                }
                continue;
            }
            this.attributesList.add(attribute);
        }
        for (Node node : methods) {
            this.addMethod((Method)node);
        }
        for (Node node : fields) {
            this.addField((Field)node);
        }
    }
 -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.lang.Object.clone(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Collections.emptyList(): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.add(java.lang.Object): boolean
 [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] -> java.lang.Object.clone(): java.lang.Object [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] -> java.util.Collections.emptyList(): java.util.List [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.add(java.lang.Object): boolean [EXIT] [EXIT]