com.softicar.platform.common.core.java.classes.analyzer.InternalAnnotationAnalyzer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of platform-common Show documentation
Show all versions of platform-common Show documentation
The SoftiCAR Platform is a lightweight, Java-based library to create interactive business web applications.
package com.softicar.platform.common.core.java.classes.analyzer;
import org.objectweb.asm.AnnotationVisitor;
import org.objectweb.asm.Opcodes;
import org.objectweb.asm.Type;
class InternalAnnotationAnalyzer extends AnnotationVisitor {
private final AnalyzedJavaClass javaClass;
public InternalAnnotationAnalyzer(AnalyzedJavaClass javaClass) {
super(Opcodes.ASM9);
this.javaClass = javaClass;
}
@Override
public void visit(String name, Object value) {
if (value instanceof Type) {
javaClass.addReferencesFromType((Type) value);
}
}
@Override
public AnnotationVisitor visitAnnotation(String name, String descriptor) {
javaClass.addReferencesFromSignature(descriptor);
return new InternalAnnotationAnalyzer(javaClass);
}
@Override
public void visitEnum(String name, String descriptor, String value) {
javaClass.addReferencesFromSignature(descriptor);
}
}