com.springsource.bundlor.internal.asm
Class ArtefactAnalyserMethodVisitor

java.lang.Object
  extended by org.objectweb.asm.commons.EmptyVisitor
      extended by com.springsource.bundlor.internal.asm.ArtefactAnalyserMethodVisitor
All Implemented Interfaces:
org.objectweb.asm.AnnotationVisitor, org.objectweb.asm.ClassVisitor, org.objectweb.asm.FieldVisitor, org.objectweb.asm.MethodVisitor

final class ArtefactAnalyserMethodVisitor
extends org.objectweb.asm.commons.EmptyVisitor
implements org.objectweb.asm.MethodVisitor

ASM MethodVisitor to scan method bodies for imports.

Concurrent Semantics
Not threadsafe.

Author:
Rob Harrop, Christian Dupuis

Field Summary
private  PartialManifest partialManifest
          The PartialManifest being updated.
private  org.objectweb.asm.Type type
          The type that is being scanned.
 
Constructor Summary
ArtefactAnalyserMethodVisitor(PartialManifest partialManifest, org.objectweb.asm.Type type)
          Creates a new ArtefactAnalyserMethodVisitor for the supplied PartialManifest.
 
Method Summary
 org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String desc, boolean visible)
           
 void visitFieldInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
           
 void visitLdcInsn(java.lang.Object cst)
          
 void visitLocalVariable(java.lang.String name, java.lang.String desc, java.lang.String signature, org.objectweb.asm.Label start, org.objectweb.asm.Label end, int index)
           
 void visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
           
 void visitMultiANewArrayInsn(java.lang.String desc, int dims)
           
 org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int parameter, java.lang.String desc, boolean visible)
           
 void visitTryCatchBlock(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, java.lang.String type)
           
 void visitTypeInsn(int opcode, java.lang.String type)
           
 
Methods inherited from class org.objectweb.asm.commons.EmptyVisitor
visit, visit, visitAnnotation, visitAnnotationDefault, visitArray, visitAttribute, visitCode, visitEnd, visitEnum, visitField, visitFrame, visitIincInsn, visitInnerClass, visitInsn, visitIntInsn, visitJumpInsn, visitLabel, visitLineNumber, visitLookupSwitchInsn, visitMaxs, visitMethod, visitOuterClass, visitSource, visitTableSwitchInsn, visitVarInsn
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.objectweb.asm.MethodVisitor
visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFrame, visitIincInsn, visitInsn, visitIntInsn, visitJumpInsn, visitLabel, visitLineNumber, visitLookupSwitchInsn, visitMaxs, visitTableSwitchInsn, visitVarInsn
 

Field Detail

partialManifest

private final PartialManifest partialManifest
The PartialManifest being updated.


type

private final org.objectweb.asm.Type type
The type that is being scanned.

Constructor Detail

ArtefactAnalyserMethodVisitor

public ArtefactAnalyserMethodVisitor(PartialManifest partialManifest,
                                     org.objectweb.asm.Type type)
Creates a new ArtefactAnalyserMethodVisitor for the supplied PartialManifest.

Parameters:
partialManifest - the PartialManifest.
Method Detail

visitAnnotation

public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String desc,
                                                           boolean visible)
Specified by:
visitAnnotation in interface org.objectweb.asm.ClassVisitor
Specified by:
visitAnnotation in interface org.objectweb.asm.FieldVisitor
Specified by:
visitAnnotation in interface org.objectweb.asm.MethodVisitor
Overrides:
visitAnnotation in class org.objectweb.asm.commons.EmptyVisitor

visitFieldInsn

public void visitFieldInsn(int opcode,
                           java.lang.String owner,
                           java.lang.String name,
                           java.lang.String desc)
Specified by:
visitFieldInsn in interface org.objectweb.asm.MethodVisitor
Overrides:
visitFieldInsn in class org.objectweb.asm.commons.EmptyVisitor

visitLocalVariable

public void visitLocalVariable(java.lang.String name,
                               java.lang.String desc,
                               java.lang.String signature,
                               org.objectweb.asm.Label start,
                               org.objectweb.asm.Label end,
                               int index)
Specified by:
visitLocalVariable in interface org.objectweb.asm.MethodVisitor
Overrides:
visitLocalVariable in class org.objectweb.asm.commons.EmptyVisitor

visitMethodInsn

public void visitMethodInsn(int opcode,
                            java.lang.String owner,
                            java.lang.String name,
                            java.lang.String desc)
Specified by:
visitMethodInsn in interface org.objectweb.asm.MethodVisitor
Overrides:
visitMethodInsn in class org.objectweb.asm.commons.EmptyVisitor

visitMultiANewArrayInsn

public void visitMultiANewArrayInsn(java.lang.String desc,
                                    int dims)
Specified by:
visitMultiANewArrayInsn in interface org.objectweb.asm.MethodVisitor
Overrides:
visitMultiANewArrayInsn in class org.objectweb.asm.commons.EmptyVisitor

visitParameterAnnotation

public org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int parameter,
                                                                    java.lang.String desc,
                                                                    boolean visible)
Specified by:
visitParameterAnnotation in interface org.objectweb.asm.MethodVisitor
Overrides:
visitParameterAnnotation in class org.objectweb.asm.commons.EmptyVisitor

visitTryCatchBlock

public void visitTryCatchBlock(org.objectweb.asm.Label start,
                               org.objectweb.asm.Label end,
                               org.objectweb.asm.Label handler,
                               java.lang.String type)
Specified by:
visitTryCatchBlock in interface org.objectweb.asm.MethodVisitor
Overrides:
visitTryCatchBlock in class org.objectweb.asm.commons.EmptyVisitor

visitTypeInsn

public void visitTypeInsn(int opcode,
                          java.lang.String type)
Specified by:
visitTypeInsn in interface org.objectweb.asm.MethodVisitor
Overrides:
visitTypeInsn in class org.objectweb.asm.commons.EmptyVisitor

visitLdcInsn

public void visitLdcInsn(java.lang.Object cst)

Specified by:
visitLdcInsn in interface org.objectweb.asm.MethodVisitor
Overrides:
visitLdcInsn in class org.objectweb.asm.commons.EmptyVisitor