Пример #1
0
 public void visit(
     final int version,
     final int access,
     final String name,
     final String signature,
     final String superName,
     final String[] interfaces) {
   if ((access & Opcodes.ACC_DEPRECATED) != 0) {
     cp.newUTF8("Deprecated");
   }
   if ((access & Opcodes.ACC_SYNTHETIC) != 0) {
     cp.newUTF8("Synthetic");
   }
   cp.newClass(name);
   if (signature != null) {
     cp.newUTF8("Signature");
     cp.newUTF8(signature);
   }
   if (superName != null) {
     cp.newClass(superName);
   }
   if (interfaces != null) {
     for (int i = 0; i < interfaces.length; ++i) {
       cp.newClass(interfaces[i]);
     }
   }
   cv.visit(version, access, name, signature, superName, interfaces);
 }
 @Override
 public void visitParameter(String name, int access) {
   cp.newUTF8("MethodParameters");
   if (name != null) {
     cp.newUTF8(name);
   }
   mv.visitParameter(name, access);
 }
Пример #3
0
 public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) {
   cp.newUTF8(desc);
   if (visible) {
     cp.newUTF8("RuntimeVisibleAnnotations");
   } else {
     cp.newUTF8("RuntimeInvisibleAnnotations");
   }
   return new AnnotationConstantsCollector(cv.visitAnnotation(desc, visible), cp);
 }
Пример #4
0
 public void visitSource(final String source, final String debug) {
   if (source != null) {
     cp.newUTF8("SourceFile");
     cp.newUTF8(source);
   }
   if (debug != null) {
     cp.newUTF8("SourceDebugExtension");
   }
   cv.visitSource(source, debug);
 }
Пример #5
0
 public AnnotationVisitor visitParameterAnnotation(
     final int parameter, final String desc, final boolean visible) {
   cp.newUTF8(desc);
   if (visible) {
     cp.newUTF8("RuntimeVisibleParameterAnnotations");
   } else {
     cp.newUTF8("RuntimeInvisibleParameterAnnotations");
   }
   return new AnnotationConstantsCollector(
       mv.visitParameterAnnotation(parameter, desc, visible), cp);
 }
 @Override
 public AnnotationVisitor visitTypeAnnotation(
     int typeRef, TypePath typePath, String desc, boolean visible) {
   cp.newUTF8(desc);
   if (visible) {
     cp.newUTF8("RuntimeVisibleTypeAnnotations");
   } else {
     cp.newUTF8("RuntimeInvisibleTypeAnnotations");
   }
   return new AnnotationConstantsCollector(mv.visitAnnotation(desc, visible), cp);
 }
Пример #7
0
 public void visitInnerClass(
     final String name, final String outerName, final String innerName, final int access) {
   cp.newUTF8("InnerClasses");
   if (name != null) {
     cp.newClass(name);
   }
   if (outerName != null) {
     cp.newClass(outerName);
   }
   if (innerName != null) {
     cp.newUTF8(innerName);
   }
   cv.visitInnerClass(name, outerName, innerName, access);
 }
Пример #8
0
 public void visitOuterClass(final String owner, final String name, final String desc) {
   cp.newUTF8("EnclosingMethod");
   cp.newClass(owner);
   if (name != null && desc != null) {
     cp.newNameType(name, desc);
   }
   cv.visitOuterClass(owner, name, desc);
 }
Пример #9
0
 public void visitLocalVariable(
     final String name,
     final String desc,
     final String signature,
     final Label start,
     final Label end,
     final int index) {
   if (signature != null) {
     cp.newUTF8("LocalVariableTypeTable");
     cp.newUTF8(name);
     cp.newUTF8(signature);
   }
   cp.newUTF8("LocalVariableTable");
   cp.newUTF8(name);
   cp.newUTF8(desc);
   mv.visitLocalVariable(name, desc, signature, start, end, index);
 }
Пример #10
0
 @Override
 public AnnotationVisitor visitLocalVariableAnnotation(
     int typeRef,
     TypePath typePath,
     Label[] start,
     Label[] end,
     int[] index,
     String desc,
     boolean visible) {
   cp.newUTF8(desc);
   if (visible) {
     cp.newUTF8("RuntimeVisibleTypeAnnotations");
   } else {
     cp.newUTF8("RuntimeInvisibleTypeAnnotations");
   }
   return new AnnotationConstantsCollector(
       mv.visitLocalVariableAnnotation(typeRef, typePath, start, end, index, desc, visible), cp);
 }
Пример #11
0
 public MethodVisitor visitMethod(
     final int access,
     final String name,
     final String desc,
     final String signature,
     final String[] exceptions) {
   if ((access & Opcodes.ACC_SYNTHETIC) != 0) {
     cp.newUTF8("Synthetic");
   }
   if ((access & Opcodes.ACC_DEPRECATED) != 0) {
     cp.newUTF8("Deprecated");
   }
   cp.newUTF8(name);
   cp.newUTF8(desc);
   if (signature != null) {
     cp.newUTF8("Signature");
     cp.newUTF8(signature);
   }
   if (exceptions != null) {
     cp.newUTF8("Exceptions");
     for (int i = 0; i < exceptions.length; ++i) {
       cp.newClass(exceptions[i]);
     }
   }
   return new MethodConstantsCollector(
       cv.visitMethod(access, name, desc, signature, exceptions), cp);
 }
Пример #12
0
 public FieldVisitor visitField(
     final int access,
     final String name,
     final String desc,
     final String signature,
     final Object value) {
   if ((access & Opcodes.ACC_SYNTHETIC) != 0) {
     cp.newUTF8("Synthetic");
   }
   if ((access & Opcodes.ACC_DEPRECATED) != 0) {
     cp.newUTF8("Deprecated");
   }
   cp.newUTF8(name);
   cp.newUTF8(desc);
   if (signature != null) {
     cp.newUTF8("Signature");
     cp.newUTF8(signature);
   }
   if (value != null) {
     cp.newConst(value);
   }
   return new FieldConstantsCollector(cv.visitField(access, name, desc, signature, value), cp);
 }
Пример #13
0
 public AnnotationVisitor visitAnnotationDefault() {
   cp.newUTF8("AnnotationDefault");
   return new AnnotationConstantsCollector(mv.visitAnnotationDefault(), cp);
 }
Пример #14
0
 public void visitMaxs(final int maxStack, final int maxLocals) {
   cp.newUTF8("Code");
   mv.visitMaxs(maxStack, maxLocals);
 }
Пример #15
0
 public void visitLineNumber(final int line, final Label start) {
   cp.newUTF8("LineNumberTable");
   mv.visitLineNumber(line, start);
 }