All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.softicar.platform.common.core.java.classes.analyzer.InternalAnnotationAnalyzer Maven / Gradle / Ivy

Go to download

The SoftiCAR Platform is a lightweight, Java-based library to create interactive business web applications.

There is a newer version: 50.0.0
Show newest version
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);
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy