net.sf.retrotranslator.transformer
Class DuplicateMethodsVisitor

java.lang.Object
  extended by net.sf.retrotranslator.runtime.asm.ClassAdapter
      extended by net.sf.retrotranslator.transformer.DuplicateMethodsVisitor
All Implemented Interfaces:
ClassVisitor

 class DuplicateMethodsVisitor
extends ClassAdapter

Author:
Taras Puchko

Field Summary
private  MethodCounter counter
           
private  SystemLogger logger
           
private  java.util.Set<java.lang.String> visitedMethods
           
 
Fields inherited from class net.sf.retrotranslator.runtime.asm.ClassAdapter
cv
 
Constructor Summary
DuplicateMethodsVisitor(ClassVisitor visitor, SystemLogger logger, MethodCounter counter)
           
 
Method Summary
private static boolean isBridge(int access)
           
private  void log(int access, java.lang.String name)
           
 MethodVisitor visitMethod(int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.String[] exceptions)
          Visits a method of the class.
 
Methods inherited from class net.sf.retrotranslator.runtime.asm.ClassAdapter
visit, visitAnnotation, visitAttribute, visitEnd, visitField, visitInnerClass, visitOuterClass, visitSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private final SystemLogger logger

counter

private final MethodCounter counter

visitedMethods

private final java.util.Set<java.lang.String> visitedMethods
Constructor Detail

DuplicateMethodsVisitor

public DuplicateMethodsVisitor(ClassVisitor visitor,
                               SystemLogger logger,
                               MethodCounter counter)
Method Detail

visitMethod

public MethodVisitor visitMethod(int access,
                                 java.lang.String name,
                                 java.lang.String desc,
                                 java.lang.String signature,
                                 java.lang.String[] exceptions)
Description copied from interface: ClassVisitor
Visits a method of the class. This method must return a new MethodVisitor instance (or null) each time it is called, i.e., it should not return a previously returned visitor.

Specified by:
visitMethod in interface ClassVisitor
Overrides:
visitMethod in class ClassAdapter
Parameters:
access - the method's access flags (see Opcodes). This parameter also indicates if the method is synthetic and/or deprecated.
name - the method's name.
desc - the method's descriptor (see Type).
signature - the method's signature. May be null if the method parameters, return type and exceptions do not use generic types.
exceptions - the internal names of the method's exception classes (see getInternalName). May be null.
Returns:
an object to visit the byte code of the method, or null if this class visitor is not interested in visiting the code of this method.

log

private void log(int access,
                 java.lang.String name)

isBridge

private static boolean isBridge(int access)