List of usage examples for org.objectweb.asm ClassVisitor visitAnnotation
public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible)
From source file:com.facebook.presto.byteCode.AnnotationDefinition.java
License:Apache License
public void visitClassAnnotation(ClassVisitor visitor) { AnnotationVisitor annotationVisitor = visitor.visitAnnotation(type.getType(), true); visit(annotationVisitor);/*from w w w . jav a 2 s. c om*/ annotationVisitor.visitEnd(); }
From source file:com.google.code.nanorm.internal.introspect.asm.MapperBuilder.java
License:Apache License
/** * Copy annotations from annotated element to given class/method definition. * @param element annotated element/* w w w .jav a 2 s .com*/ * @param classVisitor class visitor or {@literal null}. * @param methodVisitor method visitor or {@literal null}. */ private static void copyAnnotations(AnnotatedElement element, ClassVisitor classVisitor, MethodVisitor methodVisitor) { final Annotation[] annotations = element.getDeclaredAnnotations(); if (annotations != null) { for (Annotation annotation : annotations) { String desc = Type.getDescriptor(annotation.annotationType()); final AnnotationVisitor visitor; if (classVisitor != null) { visitor = classVisitor.visitAnnotation(desc, true); } else { visitor = methodVisitor.visitAnnotation(desc, true); } visitAnnotation(visitor, annotation); } } }
From source file:com.google.template.soy.jbcsrc.AnnotationRef.java
License:Apache License
/** * Writes the given annotation to the visitor. *///from w ww . j a v a 2 s. c o m void write(T instance, ClassVisitor visitor) { doWrite(instance, visitor.visitAnnotation(typeDescriptor, isRuntimeVisible)); }
From source file:com.google.template.soy.jbcsrc.restricted.AnnotationRef.java
License:Apache License
/** Writes the given annotation to the visitor. */ public void write(T instance, ClassVisitor visitor) { doWrite(instance, visitor.visitAnnotation(typeDescriptor, isRuntimeVisible)); }
From source file:com.googlecode.ddom.weaver.asm.ClassVisitorTee.java
License:Apache License
public AnnotationVisitor visitAnnotation(String desc, boolean visible) { AnnotationVisitor result = null;//from w ww . j ava 2s. c o m for (ClassVisitor visitor : visitors) { result = AnnotationVisitorTee.mergeVisitors(result, visitor.visitAnnotation(desc, visible)); } return result; }
From source file:com.googlecode.dex2jar.v3.AnnotationNode.java
License:Apache License
public void accept(ClassVisitor cv) { AnnotationVisitor av = cv.visitAnnotation(type, visible); accept(items, av); av.visitEnd(); }
From source file:erjang.beam.CompilerVisitor.java
License:Apache License
private void add_module_annotation(ClassVisitor cv) { AnnotationVisitor av = cv.visitAnnotation(MODULE_ANN_TYPE.getDescriptor(), true); av.visit("value", getModuleName()); av.visitEnd();/*from ww w. j a v a 2 s. c om*/ }
From source file:kilim.analysis.ClassWeaver.java
License:Open Source License
private void accept(final ClassVisitor cv) { ClassFlow cf = classFlow;/* w ww . j a v a 2s .com*/ // visits header String[] interfaces = toStringArray(cf.interfaces); cv.visit(cf.version, cf.access, cf.name, cf.signature, cf.superName, interfaces); // visits source if (cf.sourceFile != null || cf.sourceDebug != null) { cv.visitSource(cf.sourceFile, cf.sourceDebug); } // visits outer class if (cf.outerClass != null) { cv.visitOuterClass(cf.outerClass, cf.outerMethod, cf.outerMethodDesc); } // visits attributes and annotations int i, n; AnnotationNode an; n = cf.visibleAnnotations == null ? 0 : cf.visibleAnnotations.size(); for (i = 0; i < n; ++i) { an = (AnnotationNode) cf.visibleAnnotations.get(i); an.accept(cv.visitAnnotation(an.desc, true)); } n = cf.invisibleAnnotations == null ? 0 : cf.invisibleAnnotations.size(); for (i = 0; i < n; ++i) { an = (AnnotationNode) cf.invisibleAnnotations.get(i); an.accept(cv.visitAnnotation(an.desc, false)); } n = cf.attrs == null ? 0 : cf.attrs.size(); for (i = 0; i < n; ++i) { cv.visitAttribute((Attribute) cf.attrs.get(i)); } // visits inner classes for (i = 0; i < cf.innerClasses.size(); ++i) { ((InnerClassNode) cf.innerClasses.get(i)).accept(cv); } // visits fields for (i = 0; i < cf.fields.size(); ++i) { ((FieldNode) cf.fields.get(i)).accept(cv); } /* * Mark this class as "processed" by adding a dummy field, so that * we don't weave an already woven file */ cv.visitField(ACC_PUBLIC | ACC_STATIC | ACC_FINAL, WOVEN_FIELD, "Z", "Z", Boolean.TRUE); // visits methods for (i = 0; i < cf.methods.size(); ++i) { MethodFlow m = (MethodFlow) cf.methods.get(i); if (needsWeaving(m)) { MethodWeaver mw = new MethodWeaver(this, m); mw.accept(cv); mw.makeNotWovenMethod(cv, m); } else { m.accept(cv); } } // visits end cv.visitEnd(); }
From source file:net.enilink.composition.asm.meta.ClassInfo.java
License:Open Source License
/** * Copies annotations of this class./*from w ww.j a va2 s . c o m*/ * * @param cv * a class visitor. */ public void copyAnnotations(final ClassVisitor cv) { // visits annotations int i, n; n = visibleAnnotations == null ? 0 : visibleAnnotations.size(); for (i = 0; i < n; ++i) { AnnotationNode an = (AnnotationNode) visibleAnnotations.get(i); an.accept(cv.visitAnnotation(an.desc, true)); } n = invisibleAnnotations == null ? 0 : invisibleAnnotations.size(); for (i = 0; i < n; ++i) { AnnotationNode an = (AnnotationNode) invisibleAnnotations.get(i); an.accept(cv.visitAnnotation(an.desc, false)); } }
From source file:org.adjective.stout.writer.ByteCodeWriter.java
License:Apache License
private void writeAnnotation(ClassVisitor cv, AnnotationDescriptor annotation) { AnnotationVisitor av = cv.visitAnnotation(Type.getDescriptor(annotation.getType()), annotation.isRuntime()); this.processAnnotation(annotation, av); }