コード例 #1
0
 public FieldVisitor visitField(
     final int access,
     final String name,
     final String desc,
     final String signature,
     final Object value) {
   checkState();
   checkAccess(
       access,
       Opcodes.ACC_PUBLIC
           + Opcodes.ACC_PRIVATE
           + Opcodes.ACC_PROTECTED
           + Opcodes.ACC_STATIC
           + Opcodes.ACC_FINAL
           + Opcodes.ACC_VOLATILE
           + Opcodes.ACC_TRANSIENT
           + Opcodes.ACC_SYNTHETIC
           + Opcodes.ACC_ENUM
           + Opcodes.ACC_DEPRECATED
           + 0x40000); // ClassWriter.ACC_SYNTHETIC_ATTRIBUTE
   CheckMethodAdapter.checkIdentifier(name, "field name");
   CheckMethodAdapter.checkDesc(desc, false);
   if (signature != null) {
     CheckMethodAdapter.checkFieldSignature(signature);
   }
   if (value != null) {
     CheckMethodAdapter.checkConstant(value);
   }
   FieldVisitor av = cv.visitField(access, name, desc, signature, value);
   return new CheckFieldAdapter(av);
 }
コード例 #2
0
 public void visitEnum(final String name, final String desc, final String value) {
   checkEnd();
   checkName(name);
   CheckMethodAdapter.checkDesc(desc, false);
   if (value == null) {
     throw new IllegalArgumentException("Invalid enum value");
   }
   if (av != null) {
     av.visitEnum(name, desc, value);
   }
 }
コード例 #3
0
 @Override
 public AnnotationVisitor visitTypeAnnotation(
     final int typeRef, final TypePath typePath, final String desc, final boolean visible) {
   checkEnd();
   int sort = typeRef >>> 24;
   if (sort != TypeReference.FIELD) {
     throw new IllegalArgumentException(
         "Invalid type reference sort 0x" + Integer.toHexString(sort));
   }
   CheckClassAdapter.checkTypeRefAndPath(typeRef, typePath);
   CheckMethodAdapter.checkDesc(desc, false);
   return new CheckAnnotationAdapter(super.visitTypeAnnotation(typeRef, typePath, desc, visible));
 }
コード例 #4
0
 public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) {
   checkState();
   CheckMethodAdapter.checkDesc(desc, false);
   return new CheckAnnotationAdapter(cv.visitAnnotation(desc, visible));
 }
コード例 #5
0
 @Override
 public AnnotationVisitor visitAnnotation(final String desc, final boolean visible) {
   checkEnd();
   CheckMethodAdapter.checkDesc(desc, false);
   return new CheckAnnotationAdapter(super.visitAnnotation(desc, visible));
 }
コード例 #6
0
 public AnnotationVisitor visitAnnotation(final String name, final String desc) {
   checkEnd();
   checkName(name);
   CheckMethodAdapter.checkDesc(desc, false);
   return new CheckAnnotationAdapter(av == null ? null : av.visitAnnotation(name, desc));
 }