Example usage for org.objectweb.asm ClassVisitor visitAnnotation

List of usage examples for org.objectweb.asm ClassVisitor visitAnnotation

Introduction

In this page you can find the example usage for org.objectweb.asm ClassVisitor visitAnnotation.

Prototype

public AnnotationVisitor visitAnnotation(final String descriptor, final boolean visible) 

Source Link

Document

Visits an annotation of the class.

Usage

From source file:org.apache.felix.ipojo.manipulator.metadata.annotation.model.literal.AnnotationPlayback.java

License:Apache License

public void accept(final ClassVisitor visitor) {
    AnnotationVisitor av = visitor.visitAnnotation(m_annotationType.getDescriptor(), true);
    if (av != null) {
        accept(av);//from w w  w  .  j  ava 2s.co  m
    }
}

From source file:org.apache.felix.ipojo.manipulator.metadata.annotation.model.parser.replay.AnnotationVisitorPlayback.java

License:Apache License

public void accept(final ClassVisitor visitor) {
    AnnotationVisitor av = visitor.visitAnnotation(m_desc, m_visible);
    if (av != null) {
        accept(av);//from w ww  .  j  av  a  2 s  .c  o  m
    }
}

From source file:org.eclipse.sisu.scanners.QualifiedScanningTest.java

License:Open Source License

public void testEmptyMethods() {
    final AnnotationVisitor emptyAnnotationVisitor = new EmptyAnnotationVisitor();

    emptyAnnotationVisitor.visit(null, null);
    emptyAnnotationVisitor.visitEnum(null, null, null);
    emptyAnnotationVisitor.visitAnnotation(null, null);
    emptyAnnotationVisitor.visitArray(null);
    emptyAnnotationVisitor.visitEnd();//  w  w  w  .j  ava 2  s  .c o  m

    final ClassVisitor emptyClassVisitor = new EmptyClassVisitor();

    emptyClassVisitor.visit(0, 0, null, null, null, null);
    emptyClassVisitor.visitAnnotation(null, false);
    emptyClassVisitor.visitAttribute(null);
    emptyClassVisitor.visitSource(null, null);
    emptyClassVisitor.visitEnd();
}

From source file:org.jephyr.common.agent.DelegationClassAdapter.java

License:Open Source License

@Override
public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
    ClassVisitor cv1 = delegate();
    if (cv1 != null) {
        return cv1.visitAnnotation(desc, visible);
    } else {//from   ww w  .  j  av  a  2  s.c o m
        return null;
    }
}

From source file:org.jvnet.jax_ws_commons.beans_generator.ambassador.impl.asm.ASMAmbassadorWrapperClassCreator.java

License:Open Source License

/**
 * @param cv//ww  w . j av  a 2 s.  com
 */
private void processAnnotations(ClassVisitor cv) {
    AnnotationVisitor av = cv.visitAnnotation(Type.getDescriptor(javax.jws.WebService.class), true);
    av.visit("targetNamespace", implInfo.getTargetNS());
    av.visit("name", implInfo.getName());
    av.visit("serviceName", implInfo.getServiceName());
    av.visitEnd();
}

From source file:org.mqnaas.api.writers.AnnotationWriter.java

License:Open Source License

public void writeTo(ClassVisitor cv) {

    AnnotationVisitor av = cv.visitAnnotation(toBytecodeName(annotation), true);

    if (params != null) {
        for (AnnotationParamWriter param : params) {
            param.writeTo(av);/*from  www.j a v  a 2  s .c o  m*/
        }
    }

    av.visitEnd();
}

From source file:org.springframework.migrationanalyzer.contributions.bytecode.DelegatingClassVisitor.java

License:Apache License

@Override
public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
    Set<AnnotationVisitor> delegateVisitors = new HashSet<AnnotationVisitor>();

    for (ClassVisitor delegate : this.delegates) {
        AnnotationVisitor delegateAnnotationVisitor = delegate.visitAnnotation(desc, visible);
        if (delegateAnnotationVisitor != null) {
            delegateVisitors.add(delegateAnnotationVisitor);
        }//from   w  w  w.  ja  v  a 2  s. c om
    }

    delegateVisitors.add(this.annotationVisitor);

    return new DelegatingAnnotationVisitor(delegateVisitors);
}

From source file:org.wrml.runtime.schema.generator.SchemaGenerator.java

License:Apache License

private void visitAnnotation(final JavaBytecodeAnnotation annotation, final ClassVisitor classVisitor,
        final MethodVisitor methodVisitor, final AnnotationVisitor parentAnnotationVisitor,
        final String parentAnnotationValueName) {

    final String descriptor = annotation.getDescriptor();

    final AnnotationVisitor annotationVisitor;
    if (parentAnnotationVisitor != null) {
        annotationVisitor = parentAnnotationVisitor.visitAnnotation(parentAnnotationValueName, descriptor);
    } else if (methodVisitor != null) {
        annotationVisitor = methodVisitor.visitAnnotation(descriptor, true);
    } else {//from w ww.  j av  a2  s.  co m
        annotationVisitor = classVisitor.visitAnnotation(descriptor, true);
    }

    for (final String name : annotation.getAttributeNames()) {
        final Object value = annotation.getAttributeValue(name);
        if (name != null && value != null) {
            if (value instanceof Object[]) {
                final AnnotationVisitor arrayValueVisitor = annotationVisitor.visitArray(name);
                final Object[] array = (Object[]) value;
                for (final Object element : array) {
                    if (element instanceof Enum) {
                        final String enumDescriptor = new JavaBytecodeType(element.getClass()).getDescriptor();
                        final String enumValueString = ((Enum) element).name();
                        arrayValueVisitor.visitEnum(null, enumDescriptor, enumValueString);
                    } else if (element instanceof JavaBytecodeAnnotation) {
                        visitAnnotation(((JavaBytecodeAnnotation) element), classVisitor, methodVisitor,
                                arrayValueVisitor, name);
                    } else {
                        arrayValueVisitor.visit(null, element);
                    }
                }
                arrayValueVisitor.visitEnd();
            } else if (value instanceof Enum) {
                final String enumDescriptor = new JavaBytecodeType(value.getClass()).getDescriptor();
                final String enumValueString = ((Enum) value).name();
                annotationVisitor.visitEnum(name, enumDescriptor, enumValueString);
            } else if (value instanceof JavaBytecodeAnnotation) {
                visitAnnotation(((JavaBytecodeAnnotation) value), classVisitor, methodVisitor,
                        annotationVisitor, name);
            } else {
                annotationVisitor.visit(name, value);
            }
        }
    }

    annotationVisitor.visitEnd();
}