< prev index next >

src/java.base/share/classes/jdk/internal/org/objectweb/asm/commons/SignatureRemapper.java

Print this page
rev 47452 : imported patch jdk-new-asmv6.patch


  61 
  62 import java.util.Stack;
  63 
  64 import jdk.internal.org.objectweb.asm.Opcodes;
  65 import jdk.internal.org.objectweb.asm.signature.SignatureVisitor;
  66 
  67 /**
  68  * A {@link SignatureVisitor} adapter for type mapping.
  69  *
  70  * @author Eugene Kuleshov
  71  */
  72 public class SignatureRemapper extends SignatureVisitor {
  73 
  74     private final SignatureVisitor v;
  75 
  76     private final Remapper remapper;
  77 
  78     private Stack<String> classNames = new Stack<String>();
  79 
  80     public SignatureRemapper(final SignatureVisitor v, final Remapper remapper) {
  81         this(Opcodes.ASM5, v, remapper);
  82     }
  83 
  84     protected SignatureRemapper(final int api, final SignatureVisitor v,
  85             final Remapper remapper) {
  86         super(api);
  87         this.v = v;
  88         this.remapper = remapper;
  89     }
  90 
  91     @Override
  92     public void visitClassType(String name) {
  93         classNames.push(name);
  94         v.visitClassType(remapper.mapType(name));
  95     }
  96 
  97     @Override
  98     public void visitInnerClassType(String name) {
  99         String outerClassName = classNames.pop();
 100         String className = outerClassName + '$' + name;
 101         classNames.push(className);




  61 
  62 import java.util.Stack;
  63 
  64 import jdk.internal.org.objectweb.asm.Opcodes;
  65 import jdk.internal.org.objectweb.asm.signature.SignatureVisitor;
  66 
  67 /**
  68  * A {@link SignatureVisitor} adapter for type mapping.
  69  *
  70  * @author Eugene Kuleshov
  71  */
  72 public class SignatureRemapper extends SignatureVisitor {
  73 
  74     private final SignatureVisitor v;
  75 
  76     private final Remapper remapper;
  77 
  78     private Stack<String> classNames = new Stack<String>();
  79 
  80     public SignatureRemapper(final SignatureVisitor v, final Remapper remapper) {
  81         this(Opcodes.ASM6, v, remapper);
  82     }
  83 
  84     protected SignatureRemapper(final int api, final SignatureVisitor v,
  85             final Remapper remapper) {
  86         super(api);
  87         this.v = v;
  88         this.remapper = remapper;
  89     }
  90 
  91     @Override
  92     public void visitClassType(String name) {
  93         classNames.push(name);
  94         v.visitClassType(remapper.mapType(name));
  95     }
  96 
  97     @Override
  98     public void visitInnerClassType(String name) {
  99         String outerClassName = classNames.pop();
 100         String className = outerClassName + '$' + name;
 101         classNames.push(className);


< prev index next >