List of usage examples for org.objectweb.asm ClassVisitor visitAttribute
public void visitAttribute(final Attribute attribute)
From source file:com.googlecode.ddom.weaver.asm.ClassVisitorTee.java
License:Apache License
public void visitAttribute(Attribute attr) { for (ClassVisitor visitor : visitors) { visitor.visitAttribute(attr); } }
From source file:kilim.analysis.ClassWeaver.java
License:Open Source License
private void accept(final ClassVisitor cv) { ClassFlow cf = classFlow;//from w ww. ja va 2s . c o m // 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: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 a va 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 void visitAttribute(Attribute attr) { ClassVisitor cv1 = delegate(); if (cv1 != null) { cv1.visitAttribute(attr); }//from ww w . j av a 2s . c o m }
From source file:org.springframework.migrationanalyzer.contributions.bytecode.DelegatingClassVisitor.java
License:Apache License
@Override public void visitAttribute(Attribute attr) { for (ClassVisitor delegate : this.delegates) { delegate.visitAttribute(attr); }/*from w w w .ja va 2 s . com*/ }