package org.pitest.mutationtest.engine.gregor; import java.util.Set; import org.objectweb.asm.AnnotationVisitor; import org.objectweb.asm.Attribute; import org.objectweb.asm.ClassVisitor; import org.objectweb.asm.FieldVisitor; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; public class PreMutationAnalyser extends ClassVisitor { private final PremutationClassInfo classInfo = new PremutationClassInfo(); private final Set<String> loggingClasses; public PreMutationAnalyser(final Set<String> loggingClasses) { super(Opcodes.ASM5); this.loggingClasses = loggingClasses; } @Override public void visit(final int version, final int access, final String name, final String signature, final String superName, final String[] interfaces) { } @Override public void visitSource(final String source, final String debug) { } @Override public void visitOuterClass(final String owner, final String name, final String desc) { } @Override public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) { return null; } @Override public void visitAttribute(final Attribute attr) { } @Override public void visitInnerClass(final String name, final String outerName, final String innerName, final int access) { } @Override public FieldVisitor visitField(final int access, final String name, final String desc, final String signature, final Object value) { return null; } @Override public MethodVisitor visitMethod(final int access, final String name, final String desc, final String signature, final String[] exceptions) { return new PreMutationMethodAnalyzer(this.loggingClasses, this.classInfo); } @Override public void visitEnd() { } public PremutationClassInfo getClassInfo() { return this.classInfo; } }