
com.eg.agent.compile.visitor.EGAnnotationClassVisitor Maven / Gradle / Ivy
package com.eg.agent.compile.visitor;
import com.eg.agent.compile.InstrumentationContext;
/**
* @author janakiraman.k
*
*/
import com.eg.agent.compile.EGLogger;
import com.eg.objectweb.asm.ClassAdapter;
import com.eg.objectweb.asm.ClassVisitor;
import java.text.MessageFormat;
public class EGAnnotationClassVisitor extends ClassAdapter {
private final InstrumentationContext context;
private final EGLogger log;
public EGAnnotationClassVisitor(ClassVisitor cv, InstrumentationContext context, EGLogger log) {
super(cv);
this.context = context;
this.log = log;
}
public void visitEnd() {
if (this.context.isClassModified()) {
this.context.addUniqueTag("Lcom/eg/agent/android/MarkInstrumented;");
super.visitAnnotation("Lcom/eg/agent/android/MarkInstrumented;", false);
this.log.info(MessageFormat.format("[{0}] tagging as instrumented", new Object[]{this.context.getFriendlyClassName()}));
}
super.visitEnd();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy