public class org.objectweb.asm.util.CheckFieldAdapter extends org.objectweb.asm.FieldVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.objectweb.asm.util.CheckFieldAdapter
  super_class: org.objectweb.asm.FieldVisitor
{
  private boolean visitEndCalled;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.objectweb.asm.FieldVisitor);
    descriptor: (Lorg/objectweb/asm/FieldVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.objectweb.asm.util.CheckFieldAdapter this
        start local 1 // org.objectweb.asm.FieldVisitor fieldVisitor
         0: .line 55
            aload 0 /* this */
            ldc 458752
            aload 1 /* fieldVisitor */
            invokespecial org.objectweb.asm.util.CheckFieldAdapter.<init>:(ILorg/objectweb/asm/FieldVisitor;)V
         1: .line 56
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/objectweb/asm/util/CheckFieldAdapter;
            if_acmpeq 3
         2: .line 57
            new java.lang.IllegalStateException
            dup
            invokespecial java.lang.IllegalStateException.<init>:()V
            athrow
         3: .line 59
      StackMap locals: org.objectweb.asm.util.CheckFieldAdapter org.objectweb.asm.FieldVisitor
      StackMap stack:
            return
        end local 1 // org.objectweb.asm.FieldVisitor fieldVisitor
        end local 0 // org.objectweb.asm.util.CheckFieldAdapter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/objectweb/asm/util/CheckFieldAdapter;
            0    4     1  fieldVisitor  Lorg/objectweb/asm/FieldVisitor;
    MethodParameters:
              Name  Flags
      fieldVisitor  final

  protected void <init>(int, org.objectweb.asm.FieldVisitor);
    descriptor: (ILorg/objectweb/asm/FieldVisitor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.objectweb.asm.util.CheckFieldAdapter this
        start local 1 // int api
        start local 2 // org.objectweb.asm.FieldVisitor fieldVisitor
         0: .line 69
            aload 0 /* this */
            iload 1 /* api */
            aload 2 /* fieldVisitor */
            invokespecial org.objectweb.asm.FieldVisitor.<init>:(ILorg/objectweb/asm/FieldVisitor;)V
         1: .line 70
            return
        end local 2 // org.objectweb.asm.FieldVisitor fieldVisitor
        end local 1 // int api
        end local 0 // org.objectweb.asm.util.CheckFieldAdapter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/objectweb/asm/util/CheckFieldAdapter;
            0    2     1           api  I
            0    2     2  fieldVisitor  Lorg/objectweb/asm/FieldVisitor;
    MethodParameters:
              Name  Flags
      api           final
      fieldVisitor  final

  public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.objectweb.asm.util.CheckFieldAdapter this
        start local 1 // java.lang.String descriptor
        start local 2 // boolean visible
         0: .line 74
            aload 0 /* this */
            invokevirtual org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled:()V
         1: .line 76
            bipush 49
            aload 1 /* descriptor */
            iconst_0
            invokestatic org.objectweb.asm.util.CheckMethodAdapter.checkDescriptor:(ILjava/lang/String;Z)V
         2: .line 77
            new org.objectweb.asm.util.CheckAnnotationAdapter
            dup
            aload 0 /* this */
            aload 1 /* descriptor */
            iload 2 /* visible */
            invokespecial org.objectweb.asm.FieldVisitor.visitAnnotation:(Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
            invokespecial org.objectweb.asm.util.CheckAnnotationAdapter.<init>:(Lorg/objectweb/asm/AnnotationVisitor;)V
            areturn
        end local 2 // boolean visible
        end local 1 // java.lang.String descriptor
        end local 0 // org.objectweb.asm.util.CheckFieldAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/objectweb/asm/util/CheckFieldAdapter;
            0    3     1  descriptor  Ljava/lang/String;
            0    3     2     visible  Z
    MethodParameters:
            Name  Flags
      descriptor  final
      visible     final

  public org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int, org.objectweb.asm.TypePath, java.lang.String, boolean);
    descriptor: (ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.objectweb.asm.util.CheckFieldAdapter this
        start local 1 // int typeRef
        start local 2 // org.objectweb.asm.TypePath typePath
        start local 3 // java.lang.String descriptor
        start local 4 // boolean visible
         0: .line 83
            aload 0 /* this */
            invokevirtual org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled:()V
         1: .line 84
            new org.objectweb.asm.TypeReference
            dup
            iload 1 /* typeRef */
            invokespecial org.objectweb.asm.TypeReference.<init>:(I)V
            invokevirtual org.objectweb.asm.TypeReference.getSort:()I
            istore 5 /* sort */
        start local 5 // int sort
         2: .line 85
            iload 5 /* sort */
            bipush 19
            if_icmpeq 6
         3: .line 86
            new java.lang.IllegalArgumentException
            dup
         4: .line 87
            new java.lang.StringBuilder
            dup
            ldc "Invalid type reference sort 0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* sort */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 86
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 89
      StackMap locals: int
      StackMap stack:
            iload 1 /* typeRef */
            invokestatic org.objectweb.asm.util.CheckClassAdapter.checkTypeRef:(I)V
         7: .line 90
            bipush 49
            aload 3 /* descriptor */
            iconst_0
            invokestatic org.objectweb.asm.util.CheckMethodAdapter.checkDescriptor:(ILjava/lang/String;Z)V
         8: .line 91
            new org.objectweb.asm.util.CheckAnnotationAdapter
            dup
         9: .line 92
            aload 0 /* this */
            iload 1 /* typeRef */
            aload 2 /* typePath */
            aload 3 /* descriptor */
            iload 4 /* visible */
            invokespecial org.objectweb.asm.FieldVisitor.visitTypeAnnotation:(ILorg/objectweb/asm/TypePath;Ljava/lang/String;Z)Lorg/objectweb/asm/AnnotationVisitor;
        10: .line 91
            invokespecial org.objectweb.asm.util.CheckAnnotationAdapter.<init>:(Lorg/objectweb/asm/AnnotationVisitor;)V
            areturn
        end local 5 // int sort
        end local 4 // boolean visible
        end local 3 // java.lang.String descriptor
        end local 2 // org.objectweb.asm.TypePath typePath
        end local 1 // int typeRef
        end local 0 // org.objectweb.asm.util.CheckFieldAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/objectweb/asm/util/CheckFieldAdapter;
            0   11     1     typeRef  I
            0   11     2    typePath  Lorg/objectweb/asm/TypePath;
            0   11     3  descriptor  Ljava/lang/String;
            0   11     4     visible  Z
            2   11     5        sort  I
    MethodParameters:
            Name  Flags
      typeRef     final
      typePath    final
      descriptor  final
      visible     final

  public void visitAttribute(org.objectweb.asm.Attribute);
    descriptor: (Lorg/objectweb/asm/Attribute;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.objectweb.asm.util.CheckFieldAdapter this
        start local 1 // org.objectweb.asm.Attribute attribute
         0: .line 97
            aload 0 /* this */
            invokevirtual org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled:()V
         1: .line 98
            aload 1 /* attribute */
            ifnonnull 3
         2: .line 99
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid attribute (must not be null)"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* attribute */
            invokespecial org.objectweb.asm.FieldVisitor.visitAttribute:(Lorg/objectweb/asm/Attribute;)V
         4: .line 102
            return
        end local 1 // org.objectweb.asm.Attribute attribute
        end local 0 // org.objectweb.asm.util.CheckFieldAdapter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/objectweb/asm/util/CheckFieldAdapter;
            0    5     1  attribute  Lorg/objectweb/asm/Attribute;
    MethodParameters:
           Name  Flags
      attribute  final

  public void visitEnd();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.objectweb.asm.util.CheckFieldAdapter this
         0: .line 106
            aload 0 /* this */
            invokevirtual org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled:()V
         1: .line 107
            aload 0 /* this */
            iconst_1
            putfield org.objectweb.asm.util.CheckFieldAdapter.visitEndCalled:Z
         2: .line 108
            aload 0 /* this */
            invokespecial org.objectweb.asm.FieldVisitor.visitEnd:()V
         3: .line 109
            return
        end local 0 // org.objectweb.asm.util.CheckFieldAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/objectweb/asm/util/CheckFieldAdapter;

  private void checkVisitEndNotCalled();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.objectweb.asm.util.CheckFieldAdapter this
         0: .line 112
            aload 0 /* this */
            getfield org.objectweb.asm.util.CheckFieldAdapter.visitEndCalled:Z
            ifeq 2
         1: .line 113
            new java.lang.IllegalStateException
            dup
            ldc "Cannot call a visit method after visitEnd has been called"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 115
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.objectweb.asm.util.CheckFieldAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/objectweb/asm/util/CheckFieldAdapter;
}
SourceFile: "CheckFieldAdapter.java"