Пример #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 visitInnerClassType(final String name) {
   if (state != CLASS_TYPE) {
     throw new IllegalStateException();
   }
   CheckMethodAdapter.checkIdentifier(name, "inner class name");
   if (sv != null) {
     sv.visitInnerClassType(name);
   }
 }
Пример #3
0
 public void visitFormalTypeParameter(final String name) {
   if (type == TYPE_SIGNATURE || (state != EMPTY && state != FORMAL && state != BOUND)) {
     throw new IllegalStateException();
   }
   CheckMethodAdapter.checkIdentifier(name, "formal type parameter");
   state = FORMAL;
   if (sv != null) {
     sv.visitFormalTypeParameter(name);
   }
 }
Пример #4
0
 public void visitTypeVariable(final String name) {
   if (type != TYPE_SIGNATURE || state != EMPTY) {
     throw new IllegalStateException();
   }
   CheckMethodAdapter.checkIdentifier(name, "type variable");
   state = SIMPLE_TYPE;
   if (sv != null) {
     sv.visitTypeVariable(name);
   }
 }
Пример #5
0
 public void visitInnerClass(
     final String name, final String outerName, final String innerName, final int access) {
   checkState();
   CheckMethodAdapter.checkInternalName(name, "class name");
   if (outerName != null) {
     CheckMethodAdapter.checkInternalName(outerName, "outer class name");
   }
   if (innerName != null) {
     CheckMethodAdapter.checkIdentifier(innerName, "inner class name");
   }
   checkAccess(
       access,
       Opcodes.ACC_PUBLIC
           + Opcodes.ACC_PRIVATE
           + Opcodes.ACC_PROTECTED
           + Opcodes.ACC_STATIC
           + Opcodes.ACC_FINAL
           + Opcodes.ACC_INTERFACE
           + Opcodes.ACC_ABSTRACT
           + Opcodes.ACC_SYNTHETIC
           + Opcodes.ACC_ANNOTATION
           + Opcodes.ACC_ENUM);
   cv.visitInnerClass(name, outerName, innerName, access);
 }