public class com.sun.codemodel.internal.JDefinedClass extends com.sun.codemodel.internal.JClass implements com.sun.codemodel.internal.JDeclaration, com.sun.codemodel.internal.JClassContainer, com.sun.codemodel.internal.JGenerifiable, com.sun.codemodel.internal.JAnnotatable, com.sun.codemodel.internal.JDocCommentable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.codemodel.internal.JDefinedClass
  super_class: com.sun.codemodel.internal.JClass
{
  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.codemodel.internal.JMods mods;
    descriptor: Lcom/sun/codemodel/internal/JMods;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.codemodel.internal.JClass superClass;
    descriptor: Lcom/sun/codemodel/internal/JClass;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Set<com.sun.codemodel.internal.JClass> interfaces;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lcom/sun/codemodel/internal/JClass;>;

  final java.util.Map<java.lang.String, com.sun.codemodel.internal.JFieldVar> fields;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/sun/codemodel/internal/JFieldVar;>;

  private com.sun.codemodel.internal.JBlock init;
    descriptor: Lcom/sun/codemodel/internal/JBlock;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.codemodel.internal.JBlock instanceInit;
    descriptor: Lcom/sun/codemodel/internal/JBlock;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.codemodel.internal.JDocComment jdoc;
    descriptor: Lcom/sun/codemodel/internal/JDocComment;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.List<com.sun.codemodel.internal.JMethod> constructors;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/sun/codemodel/internal/JMethod;>;

  private final java.util.List<com.sun.codemodel.internal.JMethod> methods;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/sun/codemodel/internal/JMethod;>;

  private java.util.Map<java.lang.String, com.sun.codemodel.internal.JDefinedClass> classes;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/sun/codemodel/internal/JDefinedClass;>;

  private boolean hideFile;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public java.lang.Object metadata;
    descriptor: Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC

  private java.lang.String directBlock;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.codemodel.internal.JClassContainer outer;
    descriptor: Lcom/sun/codemodel/internal/JClassContainer;
    flags: (0x0002) ACC_PRIVATE

  private final com.sun.codemodel.internal.ClassType classType;
    descriptor: Lcom/sun/codemodel/internal/ClassType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.lang.String, com.sun.codemodel.internal.JEnumConstant> enumConstantsByName;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/sun/codemodel/internal/JEnumConstant;>;

  private java.util.List<com.sun.codemodel.internal.JAnnotationUse> annotations;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/sun/codemodel/internal/JAnnotationUse;>;

  private final com.sun.codemodel.internal.JGenerifiableImpl generifiable;
    descriptor: Lcom/sun/codemodel/internal/JGenerifiableImpl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(com.sun.codemodel.internal.JClassContainer, int, java.lang.String, com.sun.codemodel.internal.ClassType);
    descriptor: (Lcom/sun/codemodel/internal/JClassContainer;ILjava/lang/String;Lcom/sun/codemodel/internal/ClassType;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // com.sun.codemodel.internal.JClassContainer parent
        start local 2 // int mods
        start local 3 // java.lang.String name
        start local 4 // com.sun.codemodel.internal.ClassType classTypeval
         0: .line 161
            aload 0 /* this */
            iload 2 /* mods */
            aload 3 /* name */
            aload 1 /* parent */
            aload 1 /* parent */
            invokeinterface com.sun.codemodel.internal.JClassContainer.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            aload 4 /* classTypeval */
            invokespecial com.sun.codemodel.internal.JDefinedClass.<init>:(ILjava/lang/String;Lcom/sun/codemodel/internal/JClassContainer;Lcom/sun/codemodel/internal/JCodeModel;Lcom/sun/codemodel/internal/ClassType;)V
         1: .line 162
            return
        end local 4 // com.sun.codemodel.internal.ClassType classTypeval
        end local 3 // java.lang.String name
        end local 2 // int mods
        end local 1 // com.sun.codemodel.internal.JClassContainer parent
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    2     1        parent  Lcom/sun/codemodel/internal/JClassContainer;
            0    2     2          mods  I
            0    2     3          name  Ljava/lang/String;
            0    2     4  classTypeval  Lcom/sun/codemodel/internal/ClassType;
    MethodParameters:
              Name  Flags
      parent        
      mods          
      name          
      classTypeval  

  void <init>(com.sun.codemodel.internal.JCodeModel, int, java.lang.String);
    descriptor: (Lcom/sun/codemodel/internal/JCodeModel;ILjava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // com.sun.codemodel.internal.JCodeModel owner
        start local 2 // int mods
        start local 3 // java.lang.String name
         0: .line 171
            aload 0 /* this */
            iload 2 /* mods */
            aload 3 /* name */
            aconst_null
            aload 1 /* owner */
            invokespecial com.sun.codemodel.internal.JDefinedClass.<init>:(ILjava/lang/String;Lcom/sun/codemodel/internal/JClassContainer;Lcom/sun/codemodel/internal/JCodeModel;)V
         1: .line 172
            return
        end local 3 // java.lang.String name
        end local 2 // int mods
        end local 1 // com.sun.codemodel.internal.JCodeModel owner
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    2     1  owner  Lcom/sun/codemodel/internal/JCodeModel;
            0    2     2   mods  I
            0    2     3   name  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      owner  
      mods   
      name   

  private void <init>(int, java.lang.String, com.sun.codemodel.internal.JClassContainer, com.sun.codemodel.internal.JCodeModel);
    descriptor: (ILjava/lang/String;Lcom/sun/codemodel/internal/JClassContainer;Lcom/sun/codemodel/internal/JCodeModel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // java.lang.String name
        start local 3 // com.sun.codemodel.internal.JClassContainer parent
        start local 4 // com.sun.codemodel.internal.JCodeModel owner
         0: .line 179
            aload 0 /* this */
            iload 1 /* mods */
            aload 2 /* name */
            aload 3 /* parent */
            aload 4 /* owner */
            getstatic com.sun.codemodel.internal.ClassType.CLASS:Lcom/sun/codemodel/internal/ClassType;
            invokespecial com.sun.codemodel.internal.JDefinedClass.<init>:(ILjava/lang/String;Lcom/sun/codemodel/internal/JClassContainer;Lcom/sun/codemodel/internal/JCodeModel;Lcom/sun/codemodel/internal/ClassType;)V
         1: .line 180
            return
        end local 4 // com.sun.codemodel.internal.JCodeModel owner
        end local 3 // com.sun.codemodel.internal.JClassContainer parent
        end local 2 // java.lang.String name
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    2     1    mods  I
            0    2     2    name  Ljava/lang/String;
            0    2     3  parent  Lcom/sun/codemodel/internal/JClassContainer;
            0    2     4   owner  Lcom/sun/codemodel/internal/JCodeModel;
    MethodParameters:
        Name  Flags
      mods    
      name    
      parent  
      owner   

  private void <init>(int, java.lang.String, com.sun.codemodel.internal.JClassContainer, com.sun.codemodel.internal.JCodeModel, com.sun.codemodel.internal.ClassType);
    descriptor: (ILjava/lang/String;Lcom/sun/codemodel/internal/JClassContainer;Lcom/sun/codemodel/internal/JCodeModel;Lcom/sun/codemodel/internal/ClassType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=6
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // java.lang.String name
        start local 3 // com.sun.codemodel.internal.JClassContainer parent
        start local 4 // com.sun.codemodel.internal.JCodeModel owner
        start local 5 // com.sun.codemodel.internal.ClassType classTypeVal
         0: .line 197
            aload 0 /* this */
            aload 4 /* owner */
            invokespecial com.sun.codemodel.internal.JClass.<init>:(Lcom/sun/codemodel/internal/JCodeModel;)V
         1: .line 57
            aload 0 /* this */
            aconst_null
            putfield com.sun.codemodel.internal.JDefinedClass.name:Ljava/lang/String;
         2: .line 66
            aload 0 /* this */
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            putfield com.sun.codemodel.internal.JDefinedClass.interfaces:Ljava/util/Set;
         3: .line 69
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield com.sun.codemodel.internal.JDefinedClass.fields:Ljava/util/Map;
         4: .line 72
            aload 0 /* this */
            aconst_null
            putfield com.sun.codemodel.internal.JDefinedClass.init:Lcom/sun/codemodel/internal/JBlock;
         5: .line 75
            aload 0 /* this */
            aconst_null
            putfield com.sun.codemodel.internal.JDefinedClass.instanceInit:Lcom/sun/codemodel/internal/JBlock;
         6: .line 78
            aload 0 /* this */
            aconst_null
            putfield com.sun.codemodel.internal.JDefinedClass.jdoc:Lcom/sun/codemodel/internal/JDocComment;
         7: .line 81
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.codemodel.internal.JDefinedClass.constructors:Ljava/util/List;
         8: .line 84
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.codemodel.internal.JDefinedClass.methods:Ljava/util/List;
         9: .line 105
            aload 0 /* this */
            iconst_0
            putfield com.sun.codemodel.internal.JDefinedClass.hideFile:Z
        10: .line 123
            aload 0 /* this */
            aconst_null
            putfield com.sun.codemodel.internal.JDefinedClass.outer:Lcom/sun/codemodel/internal/JClassContainer;
        11: .line 143
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield com.sun.codemodel.internal.JDefinedClass.enumConstantsByName:Ljava/util/Map;
        12: .line 148
            aload 0 /* this */
            aconst_null
            putfield com.sun.codemodel.internal.JDefinedClass.annotations:Ljava/util/List;
        13: .line 154
            aload 0 /* this */
            new com.sun.codemodel.internal.JDefinedClass$1
            dup
            aload 0 /* this */
            invokespecial com.sun.codemodel.internal.JDefinedClass$1.<init>:(Lcom/sun/codemodel/internal/JDefinedClass;)V
            putfield com.sun.codemodel.internal.JDefinedClass.generifiable:Lcom/sun/codemodel/internal/JGenerifiableImpl;
        14: .line 199
            aload 2 /* name */
            ifnull 38
        15: .line 200
            aload 2 /* name */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 17
        16: .line 201
            new java.lang.IllegalArgumentException
            dup
            ldc "JClass name empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 203
      StackMap locals: com.sun.codemodel.internal.JDefinedClass int java.lang.String com.sun.codemodel.internal.JClassContainer com.sun.codemodel.internal.JCodeModel com.sun.codemodel.internal.ClassType
      StackMap stack:
            aload 2 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
            ifne 26
        18: .line 205
            new java.lang.StringBuilder
            dup
            ldc "JClass name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 206
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 207
            ldc " contains illegal character"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 208
            ldc " for beginning of identifier: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 209
            aload 2 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        23: .line 205
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 204
            astore 6 /* msg */
        start local 6 // java.lang.String msg
        25: .line 210
            new java.lang.IllegalArgumentException
            dup
            aload 6 /* msg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String msg
        26: .line 212
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* i */
        start local 6 // int i
        27: goto 37
        28: .line 213
      StackMap locals: int
      StackMap stack:
            aload 2 /* name */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifne 36
        29: .line 215
            new java.lang.StringBuilder
            dup
            ldc "JClass name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        30: .line 216
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 217
            ldc " contains illegal character "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 218
            aload 2 /* name */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        33: .line 215
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 214
            astore 7 /* msg */
        start local 7 // java.lang.String msg
        35: .line 219
            new java.lang.IllegalArgumentException
            dup
            aload 7 /* msg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.String msg
        36: .line 212
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 6 /* i */
            aload 2 /* name */
            invokevirtual java.lang.String.length:()I
            if_icmplt 28
        end local 6 // int i
        38: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* classTypeVal */
            putfield com.sun.codemodel.internal.JDefinedClass.classType:Lcom/sun/codemodel/internal/ClassType;
        39: .line 225
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.isInterface:()Z
            ifeq 41
        40: .line 226
            aload 0 /* this */
            iload 1 /* mods */
            invokestatic com.sun.codemodel.internal.JMods.forInterface:(I)Lcom/sun/codemodel/internal/JMods;
            putfield com.sun.codemodel.internal.JDefinedClass.mods:Lcom/sun/codemodel/internal/JMods;
            goto 42
        41: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* mods */
            invokestatic com.sun.codemodel.internal.JMods.forClass:(I)Lcom/sun/codemodel/internal/JMods;
            putfield com.sun.codemodel.internal.JDefinedClass.mods:Lcom/sun/codemodel/internal/JMods;
        42: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            putfield com.sun.codemodel.internal.JDefinedClass.name:Ljava/lang/String;
        43: .line 232
            aload 0 /* this */
            aload 3 /* parent */
            putfield com.sun.codemodel.internal.JDefinedClass.outer:Lcom/sun/codemodel/internal/JClassContainer;
        44: .line 233
            return
        end local 5 // com.sun.codemodel.internal.ClassType classTypeVal
        end local 4 // com.sun.codemodel.internal.JCodeModel owner
        end local 3 // com.sun.codemodel.internal.JClassContainer parent
        end local 2 // java.lang.String name
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   45     0          this  Lcom/sun/codemodel/internal/JDefinedClass;
            0   45     1          mods  I
            0   45     2          name  Ljava/lang/String;
            0   45     3        parent  Lcom/sun/codemodel/internal/JClassContainer;
            0   45     4         owner  Lcom/sun/codemodel/internal/JCodeModel;
            0   45     5  classTypeVal  Lcom/sun/codemodel/internal/ClassType;
           25   26     6           msg  Ljava/lang/String;
           27   38     6             i  I
           35   36     7           msg  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      mods          
      name          
      parent        
      owner         
      classTypeVal  

  public final boolean isAnonymous();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 239
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.name:Ljava/lang/String;
            ifnonnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JDefinedClass _extends(com.sun.codemodel.internal.JClass);
    descriptor: (Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // com.sun.codemodel.internal.JClass superClass
         0: .line 251
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classType:Lcom/sun/codemodel/internal/ClassType;
            getstatic com.sun.codemodel.internal.ClassType.INTERFACE:Lcom/sun/codemodel/internal/ClassType;
            if_acmpne 4
         1: .line 252
            aload 1 /* superClass */
            invokevirtual com.sun.codemodel.internal.JClass.isInterface:()Z
            ifeq 3
         2: .line 253
            aload 0 /* this */
            aload 1 /* superClass */
            invokevirtual com.sun.codemodel.internal.JDefinedClass._implements:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JDefinedClass;
            areturn
         3: .line 254
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "unable to set the super class for an interface"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 255
      StackMap locals:
      StackMap stack:
            aload 1 /* superClass */
            ifnonnull 6
         5: .line 256
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         6: .line 258
      StackMap locals:
      StackMap stack:
            aload 1 /* superClass */
            invokevirtual com.sun.codemodel.internal.JClass.outer:()Lcom/sun/codemodel/internal/JClass;
            astore 2 /* o */
        start local 2 // com.sun.codemodel.internal.JClass o
         7: goto 13
         8: .line 259
      StackMap locals: com.sun.codemodel.internal.JClass
      StackMap stack:
            aload 0 /* this */
            aload 2 /* o */
            if_acmpne 12
         9: .line 260
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal class inheritance loop.  Outer class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 261
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " may not subclass from inner class: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* o */
            invokevirtual com.sun.codemodel.internal.JClass.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 260
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 258
      StackMap locals:
      StackMap stack:
            aload 2 /* o */
            invokevirtual com.sun.codemodel.internal.JClass.outer:()Lcom/sun/codemodel/internal/JClass;
            astore 2 /* o */
      StackMap locals:
      StackMap stack:
        13: aload 2 /* o */
            ifnonnull 8
        end local 2 // com.sun.codemodel.internal.JClass o
        14: .line 265
            aload 0 /* this */
            aload 1 /* superClass */
            putfield com.sun.codemodel.internal.JDefinedClass.superClass:Lcom/sun/codemodel/internal/JClass;
        15: .line 266
            aload 0 /* this */
            areturn
        end local 1 // com.sun.codemodel.internal.JClass superClass
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lcom/sun/codemodel/internal/JDefinedClass;
            0   16     1  superClass  Lcom/sun/codemodel/internal/JClass;
            7   14     2           o  Lcom/sun/codemodel/internal/JClass;
    MethodParameters:
            Name  Flags
      superClass  

  public com.sun.codemodel.internal.JDefinedClass _extends(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.Class superClass
         0: .line 270
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            aload 1 /* superClass */
            invokevirtual com.sun.codemodel.internal.JCodeModel.ref:(Ljava/lang/Class;)Lcom/sun/codemodel/internal/JClass;
            invokevirtual com.sun.codemodel.internal.JDefinedClass._extends:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JDefinedClass;
            areturn
        end local 1 // java.lang.Class superClass
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  superClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lcom/sun/codemodel/internal/JDefinedClass;
    MethodParameters:
            Name  Flags
      superClass  

  public com.sun.codemodel.internal.JClass _extends();
    descriptor: ()Lcom/sun/codemodel/internal/JClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 277
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.superClass:Lcom/sun/codemodel/internal/JClass;
            ifnonnull 2
         1: .line 278
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            ldc Ljava/lang/Object;
            invokevirtual com.sun.codemodel.internal.JCodeModel.ref:(Ljava/lang/Class;)Lcom/sun/codemodel/internal/JClass;
            putfield com.sun.codemodel.internal.JDefinedClass.superClass:Lcom/sun/codemodel/internal/JClass;
         2: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.superClass:Lcom/sun/codemodel/internal/JClass;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JDefinedClass _implements(com.sun.codemodel.internal.JClass);
    descriptor: (Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // com.sun.codemodel.internal.JClass iface
         0: .line 291
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.interfaces:Ljava/util/Set;
            aload 1 /* iface */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 292
            aload 0 /* this */
            areturn
        end local 1 // com.sun.codemodel.internal.JClass iface
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    2     1  iface  Lcom/sun/codemodel/internal/JClass;
    MethodParameters:
       Name  Flags
      iface  

  public com.sun.codemodel.internal.JDefinedClass _implements(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.Class iface
         0: .line 296
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            aload 1 /* iface */
            invokevirtual com.sun.codemodel.internal.JCodeModel.ref:(Ljava/lang/Class;)Lcom/sun/codemodel/internal/JClass;
            invokevirtual com.sun.codemodel.internal.JDefinedClass._implements:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JDefinedClass;
            areturn
        end local 1 // java.lang.Class iface
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  iface  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lcom/sun/codemodel/internal/JDefinedClass;
    MethodParameters:
       Name  Flags
      iface  

  public java.util.Iterator<com.sun.codemodel.internal.JClass> _implements();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 304
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.interfaces:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
    Signature: ()Ljava/util/Iterator<Lcom/sun/codemodel/internal/JClass;>;

  public java.lang.String name();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 317
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.name:Ljava/lang/String;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JEnumConstant enumConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/codemodel/internal/JEnumConstant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.String name
         0: .line 331
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.enumConstantsByName:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JEnumConstant
            astore 2 /* ec */
        start local 2 // com.sun.codemodel.internal.JEnumConstant ec
         1: .line 332
            aload 2 /* ec */
            ifnonnull 4
         2: .line 333
            new com.sun.codemodel.internal.JEnumConstant
            dup
            aload 0 /* this */
            aload 1 /* name */
            invokespecial com.sun.codemodel.internal.JEnumConstant.<init>:(Lcom/sun/codemodel/internal/JDefinedClass;Ljava/lang/String;)V
            astore 2 /* ec */
         3: .line 334
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.enumConstantsByName:Ljava/util/Map;
            aload 1 /* name */
            aload 2 /* ec */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 336
      StackMap locals: com.sun.codemodel.internal.JEnumConstant
      StackMap stack:
            aload 2 /* ec */
            areturn
        end local 2 // com.sun.codemodel.internal.JEnumConstant ec
        end local 1 // java.lang.String name
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    5     1  name  Ljava/lang/String;
            1    5     2    ec  Lcom/sun/codemodel/internal/JEnumConstant;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String fullName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 343
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.outer:Lcom/sun/codemodel/internal/JClassContainer;
            instanceof com.sun.codemodel.internal.JDefinedClass
            ifeq 2
         1: .line 344
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.outer:Lcom/sun/codemodel/internal/JClassContainer;
            checkcast com.sun.codemodel.internal.JDefinedClass
            invokevirtual com.sun.codemodel.internal.JDefinedClass.fullName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass._package:()Lcom/sun/codemodel/internal/JPackage;
            astore 1 /* p */
        start local 1 // com.sun.codemodel.internal.JPackage p
         3: .line 347
            aload 1 /* p */
            invokevirtual com.sun.codemodel.internal.JPackage.isUnnamed:()Z
            ifeq 5
         4: .line 348
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.name:()Ljava/lang/String;
            areturn
         5: .line 350
      StackMap locals: com.sun.codemodel.internal.JPackage
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* p */
            invokevirtual com.sun.codemodel.internal.JPackage.name:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // com.sun.codemodel.internal.JPackage p
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            3    6     1     p  Lcom/sun/codemodel/internal/JPackage;

  public java.lang.String binaryName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 355
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.outer:Lcom/sun/codemodel/internal/JClassContainer;
            instanceof com.sun.codemodel.internal.JDefinedClass
            ifeq 2
         1: .line 356
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.outer:Lcom/sun/codemodel/internal/JClassContainer;
            checkcast com.sun.codemodel.internal.JDefinedClass
            invokevirtual com.sun.codemodel.internal.JDefinedClass.binaryName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 36
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 358
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.fullName:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public boolean isInterface();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 362
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classType:Lcom/sun/codemodel/internal/ClassType;
            getstatic com.sun.codemodel.internal.ClassType.INTERFACE:Lcom/sun/codemodel/internal/ClassType;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public boolean isAbstract();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 366
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.mods:Lcom/sun/codemodel/internal/JMods;
            invokevirtual com.sun.codemodel.internal.JMods.isAbstract:()Z
            ireturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JFieldVar field(int, com.sun.codemodel.internal.JType, java.lang.String);
    descriptor: (ILcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JFieldVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // com.sun.codemodel.internal.JType type
        start local 3 // java.lang.String name
         0: .line 384
            aload 0 /* this */
            iload 1 /* mods */
            aload 2 /* type */
            aload 3 /* name */
            aconst_null
            invokevirtual com.sun.codemodel.internal.JDefinedClass.field:(ILcom/sun/codemodel/internal/JType;Ljava/lang/String;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JFieldVar;
            areturn
        end local 3 // java.lang.String name
        end local 2 // com.sun.codemodel.internal.JType type
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  mods  I
            0    1     2  type  Lcom/sun/codemodel/internal/JType;
            0    1     3  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      mods  
      type  
      name  

  public com.sun.codemodel.internal.JFieldVar field(int, java.lang.Class<?>, java.lang.String);
    descriptor: (ILjava/lang/Class;Ljava/lang/String;)Lcom/sun/codemodel/internal/JFieldVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // java.lang.Class type
        start local 3 // java.lang.String name
         0: .line 388
            aload 0 /* this */
            iload 1 /* mods */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            aload 2 /* type */
            invokevirtual com.sun.codemodel.internal.JCodeModel._ref:(Ljava/lang/Class;)Lcom/sun/codemodel/internal/JType;
            aload 3 /* name */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.field:(ILcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JFieldVar;
            areturn
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class type
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  mods  I
            0    1     2  type  Ljava/lang/Class<*>;
            0    1     3  name  Ljava/lang/String;
    Signature: (ILjava/lang/Class<*>;Ljava/lang/String;)Lcom/sun/codemodel/internal/JFieldVar;
    MethodParameters:
      Name  Flags
      mods  
      type  
      name  

  public com.sun.codemodel.internal.JFieldVar field(int, com.sun.codemodel.internal.JType, java.lang.String, com.sun.codemodel.internal.JExpression);
    descriptor: (ILcom/sun/codemodel/internal/JType;Ljava/lang/String;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JFieldVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // com.sun.codemodel.internal.JType type
        start local 3 // java.lang.String name
        start local 4 // com.sun.codemodel.internal.JExpression init
         0: .line 410
            new com.sun.codemodel.internal.JFieldVar
            dup
            aload 0 /* this */
            iload 1 /* mods */
            invokestatic com.sun.codemodel.internal.JMods.forField:(I)Lcom/sun/codemodel/internal/JMods;
            aload 2 /* type */
            aload 3 /* name */
            aload 4 /* init */
            invokespecial com.sun.codemodel.internal.JFieldVar.<init>:(Lcom/sun/codemodel/internal/JDefinedClass;Lcom/sun/codemodel/internal/JMods;Lcom/sun/codemodel/internal/JType;Ljava/lang/String;Lcom/sun/codemodel/internal/JExpression;)V
            astore 5 /* f */
        start local 5 // com.sun.codemodel.internal.JFieldVar f
         1: .line 412
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.fields:Ljava/util/Map;
            aload 3 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 413
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "trying to create the same field twice: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 416
      StackMap locals: com.sun.codemodel.internal.JFieldVar
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.fields:Ljava/util/Map;
            aload 3 /* name */
            aload 5 /* f */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 417
            aload 5 /* f */
            areturn
        end local 5 // com.sun.codemodel.internal.JFieldVar f
        end local 4 // com.sun.codemodel.internal.JExpression init
        end local 3 // java.lang.String name
        end local 2 // com.sun.codemodel.internal.JType type
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    5     1  mods  I
            0    5     2  type  Lcom/sun/codemodel/internal/JType;
            0    5     3  name  Ljava/lang/String;
            0    5     4  init  Lcom/sun/codemodel/internal/JExpression;
            1    5     5     f  Lcom/sun/codemodel/internal/JFieldVar;
    MethodParameters:
      Name  Flags
      mods  
      type  
      name  
      init  

  public boolean isAnnotationTypeDeclaration();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 425
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classType:Lcom/sun/codemodel/internal/ClassType;
            getstatic com.sun.codemodel.internal.ClassType.ANNOTATION_TYPE_DECL:Lcom/sun/codemodel/internal/ClassType;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JDefinedClass _annotationTypeDeclaration(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.String name
         0: .line 441
            aload 0 /* this */
            iconst_1
            aload 1 /* name */
            getstatic com.sun.codemodel.internal.ClassType.ANNOTATION_TYPE_DECL:Lcom/sun/codemodel/internal/ClassType;
            invokevirtual com.sun.codemodel.internal.JDefinedClass._class:(ILjava/lang/String;Lcom/sun/codemodel/internal/ClassType;)Lcom/sun/codemodel/internal/JDefinedClass;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws com.sun.codemodel.internal.JClassAlreadyExistsException
    MethodParameters:
      Name  Flags
      name  

  public com.sun.codemodel.internal.JDefinedClass _enum(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.String name
         0: .line 455
            aload 0 /* this */
            iconst_1
            aload 1 /* name */
            getstatic com.sun.codemodel.internal.ClassType.ENUM:Lcom/sun/codemodel/internal/ClassType;
            invokevirtual com.sun.codemodel.internal.JDefinedClass._class:(ILjava/lang/String;Lcom/sun/codemodel/internal/ClassType;)Lcom/sun/codemodel/internal/JDefinedClass;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws com.sun.codemodel.internal.JClassAlreadyExistsException
    MethodParameters:
      Name  Flags
      name  

  public com.sun.codemodel.internal.JDefinedClass _enum(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // java.lang.String name
         0: .line 471
            aload 0 /* this */
            iload 1 /* mods */
            aload 2 /* name */
            getstatic com.sun.codemodel.internal.ClassType.ENUM:Lcom/sun/codemodel/internal/ClassType;
            invokevirtual com.sun.codemodel.internal.JDefinedClass._class:(ILjava/lang/String;Lcom/sun/codemodel/internal/ClassType;)Lcom/sun/codemodel/internal/JDefinedClass;
            areturn
        end local 2 // java.lang.String name
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  mods  I
            0    1     2  name  Ljava/lang/String;
    Exceptions:
      throws com.sun.codemodel.internal.JClassAlreadyExistsException
    MethodParameters:
      Name  Flags
      mods  
      name  

  public com.sun.codemodel.internal.ClassType getClassType();
    descriptor: ()Lcom/sun/codemodel/internal/ClassType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 479
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classType:Lcom/sun/codemodel/internal/ClassType;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JFieldVar field(int, java.lang.Class<?>, java.lang.String, com.sun.codemodel.internal.JExpression);
    descriptor: (ILjava/lang/Class;Ljava/lang/String;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JFieldVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // java.lang.Class type
        start local 3 // java.lang.String name
        start local 4 // com.sun.codemodel.internal.JExpression init
         0: .line 487
            aload 0 /* this */
            iload 1 /* mods */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            aload 2 /* type */
            invokevirtual com.sun.codemodel.internal.JCodeModel._ref:(Ljava/lang/Class;)Lcom/sun/codemodel/internal/JType;
            aload 3 /* name */
            aload 4 /* init */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.field:(ILcom/sun/codemodel/internal/JType;Ljava/lang/String;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JFieldVar;
            areturn
        end local 4 // com.sun.codemodel.internal.JExpression init
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class type
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  mods  I
            0    1     2  type  Ljava/lang/Class<*>;
            0    1     3  name  Ljava/lang/String;
            0    1     4  init  Lcom/sun/codemodel/internal/JExpression;
    Signature: (ILjava/lang/Class<*>;Ljava/lang/String;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JFieldVar;
    MethodParameters:
      Name  Flags
      mods  
      type  
      name  
      init  

  public java.util.Map<java.lang.String, com.sun.codemodel.internal.JFieldVar> fields();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 497
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.fields:Ljava/util/Map;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/sun/codemodel/internal/JFieldVar;>;

  public void removeField(com.sun.codemodel.internal.JFieldVar);
    descriptor: (Lcom/sun/codemodel/internal/JFieldVar;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // com.sun.codemodel.internal.JFieldVar field
         0: .line 507
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.fields:Ljava/util/Map;
            aload 1 /* field */
            invokevirtual com.sun.codemodel.internal.JFieldVar.name:()Ljava/lang/String;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 1 /* field */
            if_acmpeq 2
         1: .line 508
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 509
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.codemodel.internal.JFieldVar field
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    3     1  field  Lcom/sun/codemodel/internal/JFieldVar;
    MethodParameters:
       Name  Flags
      field  

  public com.sun.codemodel.internal.JBlock init();
    descriptor: ()Lcom/sun/codemodel/internal/JBlock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 518
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.init:Lcom/sun/codemodel/internal/JBlock;
            ifnonnull 2
         1: .line 519
            aload 0 /* this */
            new com.sun.codemodel.internal.JBlock
            dup
            invokespecial com.sun.codemodel.internal.JBlock.<init>:()V
            putfield com.sun.codemodel.internal.JDefinedClass.init:Lcom/sun/codemodel/internal/JBlock;
         2: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.init:Lcom/sun/codemodel/internal/JBlock;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JBlock instanceInit();
    descriptor: ()Lcom/sun/codemodel/internal/JBlock;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 530
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.instanceInit:Lcom/sun/codemodel/internal/JBlock;
            ifnonnull 2
         1: .line 531
            aload 0 /* this */
            new com.sun.codemodel.internal.JBlock
            dup
            invokespecial com.sun.codemodel.internal.JBlock.<init>:()V
            putfield com.sun.codemodel.internal.JDefinedClass.instanceInit:Lcom/sun/codemodel/internal/JBlock;
         2: .line 532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.instanceInit:Lcom/sun/codemodel/internal/JBlock;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JMethod constructor(int);
    descriptor: (I)Lcom/sun/codemodel/internal/JMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
         0: .line 542
            new com.sun.codemodel.internal.JMethod
            dup
            iload 1 /* mods */
            aload 0 /* this */
            invokespecial com.sun.codemodel.internal.JMethod.<init>:(ILcom/sun/codemodel/internal/JDefinedClass;)V
            astore 2 /* c */
        start local 2 // com.sun.codemodel.internal.JMethod c
         1: .line 543
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.constructors:Ljava/util/List;
            aload 2 /* c */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 544
            aload 2 /* c */
            areturn
        end local 2 // com.sun.codemodel.internal.JMethod c
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    3     1  mods  I
            1    3     2     c  Lcom/sun/codemodel/internal/JMethod;
    MethodParameters:
      Name  Flags
      mods  

  public java.util.Iterator<com.sun.codemodel.internal.JMethod> constructors();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 551
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.constructors:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
    Signature: ()Ljava/util/Iterator<Lcom/sun/codemodel/internal/JMethod;>;

  public com.sun.codemodel.internal.JMethod getConstructor(com.sun.codemodel.internal.JType[]);
    descriptor: ([Lcom/sun/codemodel/internal/JType;)Lcom/sun/codemodel/internal/JMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // com.sun.codemodel.internal.JType[] argTypes
         0: .line 562
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.constructors:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JType[] top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JMethod
            astore 2 /* m */
        start local 2 // com.sun.codemodel.internal.JMethod m
         2: .line 563
            aload 2 /* m */
            aload 1 /* argTypes */
            invokevirtual com.sun.codemodel.internal.JMethod.hasSignature:([Lcom/sun/codemodel/internal/JType;)Z
            ifeq 4
         3: .line 564
            aload 2 /* m */
            areturn
        end local 2 // com.sun.codemodel.internal.JMethod m
         4: .line 562
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 566
            aconst_null
            areturn
        end local 1 // com.sun.codemodel.internal.JType[] argTypes
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    6     1  argTypes  [Lcom/sun/codemodel/internal/JType;
            2    4     2         m  Lcom/sun/codemodel/internal/JMethod;
    MethodParameters:
          Name  Flags
      argTypes  

  public com.sun.codemodel.internal.JMethod method(int, com.sun.codemodel.internal.JType, java.lang.String);
    descriptor: (ILcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // com.sun.codemodel.internal.JType type
        start local 3 // java.lang.String name
         0: .line 585
            new com.sun.codemodel.internal.JMethod
            dup
            aload 0 /* this */
            iload 1 /* mods */
            aload 2 /* type */
            aload 3 /* name */
            invokespecial com.sun.codemodel.internal.JMethod.<init>:(Lcom/sun/codemodel/internal/JDefinedClass;ILcom/sun/codemodel/internal/JType;Ljava/lang/String;)V
            astore 4 /* m */
        start local 4 // com.sun.codemodel.internal.JMethod m
         1: .line 586
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.methods:Ljava/util/List;
            aload 4 /* m */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 587
            aload 4 /* m */
            areturn
        end local 4 // com.sun.codemodel.internal.JMethod m
        end local 3 // java.lang.String name
        end local 2 // com.sun.codemodel.internal.JType type
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    3     1  mods  I
            0    3     2  type  Lcom/sun/codemodel/internal/JType;
            0    3     3  name  Ljava/lang/String;
            1    3     4     m  Lcom/sun/codemodel/internal/JMethod;
    MethodParameters:
      Name  Flags
      mods  
      type  
      name  

  public com.sun.codemodel.internal.JMethod method(int, java.lang.Class<?>, java.lang.String);
    descriptor: (ILjava/lang/Class;Ljava/lang/String;)Lcom/sun/codemodel/internal/JMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // java.lang.Class type
        start local 3 // java.lang.String name
         0: .line 591
            aload 0 /* this */
            iload 1 /* mods */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            aload 2 /* type */
            invokevirtual com.sun.codemodel.internal.JCodeModel._ref:(Ljava/lang/Class;)Lcom/sun/codemodel/internal/JType;
            aload 3 /* name */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.method:(ILcom/sun/codemodel/internal/JType;Ljava/lang/String;)Lcom/sun/codemodel/internal/JMethod;
            areturn
        end local 3 // java.lang.String name
        end local 2 // java.lang.Class type
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  mods  I
            0    1     2  type  Ljava/lang/Class<*>;
            0    1     3  name  Ljava/lang/String;
    Signature: (ILjava/lang/Class<*>;Ljava/lang/String;)Lcom/sun/codemodel/internal/JMethod;
    MethodParameters:
      Name  Flags
      mods  
      type  
      name  

  public java.util.Collection<com.sun.codemodel.internal.JMethod> methods();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 598
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.methods:Ljava/util/List;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
    Signature: ()Ljava/util/Collection<Lcom/sun/codemodel/internal/JMethod;>;

  public com.sun.codemodel.internal.JMethod getMethod(java.lang.String, com.sun.codemodel.internal.JType[]);
    descriptor: (Ljava/lang/String;[Lcom/sun/codemodel/internal/JType;)Lcom/sun/codemodel/internal/JMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.String name
        start local 2 // com.sun.codemodel.internal.JType[] argTypes
         0: .line 609
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.methods:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: com.sun.codemodel.internal.JDefinedClass java.lang.String com.sun.codemodel.internal.JType[] top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JMethod
            astore 3 /* m */
        start local 3 // com.sun.codemodel.internal.JMethod m
         2: .line 610
            aload 3 /* m */
            invokevirtual com.sun.codemodel.internal.JMethod.name:()Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 611
            goto 6
         4: .line 613
      StackMap locals: com.sun.codemodel.internal.JDefinedClass java.lang.String com.sun.codemodel.internal.JType[] com.sun.codemodel.internal.JMethod java.util.Iterator
      StackMap stack:
            aload 3 /* m */
            aload 2 /* argTypes */
            invokevirtual com.sun.codemodel.internal.JMethod.hasSignature:([Lcom/sun/codemodel/internal/JType;)Z
            ifeq 6
         5: .line 614
            aload 3 /* m */
            areturn
        end local 3 // com.sun.codemodel.internal.JMethod m
         6: .line 609
      StackMap locals: com.sun.codemodel.internal.JDefinedClass java.lang.String com.sun.codemodel.internal.JType[] top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 616
            aconst_null
            areturn
        end local 2 // com.sun.codemodel.internal.JType[] argTypes
        end local 1 // java.lang.String name
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    8     1      name  Ljava/lang/String;
            0    8     2  argTypes  [Lcom/sun/codemodel/internal/JType;
            2    6     3         m  Lcom/sun/codemodel/internal/JMethod;
    MethodParameters:
          Name  Flags
      name      
      argTypes  

  public boolean isClass();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 620
            iconst_1
            ireturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public boolean isPackage();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 623
            iconst_0
            ireturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JPackage getPackage();
    descriptor: ()Lcom/sun/codemodel/internal/JPackage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 625
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.parentContainer:()Lcom/sun/codemodel/internal/JClassContainer;
            invokeinterface com.sun.codemodel.internal.JClassContainer.getPackage:()Lcom/sun/codemodel/internal/JPackage;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JDefinedClass _class(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // java.lang.String name
         0: .line 640
            aload 0 /* this */
            iload 1 /* mods */
            aload 2 /* name */
            getstatic com.sun.codemodel.internal.ClassType.CLASS:Lcom/sun/codemodel/internal/ClassType;
            invokevirtual com.sun.codemodel.internal.JDefinedClass._class:(ILjava/lang/String;Lcom/sun/codemodel/internal/ClassType;)Lcom/sun/codemodel/internal/JDefinedClass;
            areturn
        end local 2 // java.lang.String name
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  mods  I
            0    1     2  name  Ljava/lang/String;
    Exceptions:
      throws com.sun.codemodel.internal.JClassAlreadyExistsException
    MethodParameters:
      Name  Flags
      mods  
      name  

  public com.sun.codemodel.internal.JDefinedClass _class(int, java.lang.String, boolean);
    descriptor: (ILjava/lang/String;Z)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // java.lang.String name
        start local 3 // boolean isInterface
         0: .line 649
            aload 0 /* this */
            iload 1 /* mods */
            aload 2 /* name */
            iload 3 /* isInterface */
            ifeq 1
            getstatic com.sun.codemodel.internal.ClassType.INTERFACE:Lcom/sun/codemodel/internal/ClassType;
            goto 2
      StackMap locals: com.sun.codemodel.internal.JDefinedClass int java.lang.String int
      StackMap stack: com.sun.codemodel.internal.JDefinedClass int java.lang.String
         1: getstatic com.sun.codemodel.internal.ClassType.CLASS:Lcom/sun/codemodel/internal/ClassType;
      StackMap locals: com.sun.codemodel.internal.JDefinedClass int java.lang.String int
      StackMap stack: com.sun.codemodel.internal.JDefinedClass int java.lang.String com.sun.codemodel.internal.ClassType
         2: invokevirtual com.sun.codemodel.internal.JDefinedClass._class:(ILjava/lang/String;Lcom/sun/codemodel/internal/ClassType;)Lcom/sun/codemodel/internal/JDefinedClass;
            areturn
        end local 3 // boolean isInterface
        end local 2 // java.lang.String name
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    3     1         mods  I
            0    3     2         name  Ljava/lang/String;
            0    3     3  isInterface  Z
    Exceptions:
      throws com.sun.codemodel.internal.JClassAlreadyExistsException
    MethodParameters:
             Name  Flags
      mods         
      name         
      isInterface  

  public com.sun.codemodel.internal.JDefinedClass _class(int, java.lang.String, com.sun.codemodel.internal.ClassType);
    descriptor: (ILjava/lang/String;Lcom/sun/codemodel/internal/ClassType;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // java.lang.String name
        start local 3 // com.sun.codemodel.internal.ClassType classTypeVal
         0: .line 656
            getstatic com.sun.codemodel.internal.JCodeModel.isCaseSensitiveFileSystem:Z
            ifeq 3
         1: .line 657
            aload 2 /* name */
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            astore 4 /* NAME */
        start local 4 // java.lang.String NAME
         2: goto 4
        end local 4 // java.lang.String NAME
         3: .line 659
      StackMap locals:
      StackMap stack:
            aload 2 /* name */
            astore 4 /* NAME */
        start local 4 // java.lang.String NAME
         4: .line 661
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.getClasses:()Ljava/util/Map;
            aload 4 /* NAME */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 662
            new com.sun.codemodel.internal.JClassAlreadyExistsException
            dup
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.getClasses:()Ljava/util/Map;
            aload 4 /* NAME */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JDefinedClass
            invokespecial com.sun.codemodel.internal.JClassAlreadyExistsException.<init>:(Lcom/sun/codemodel/internal/JDefinedClass;)V
            athrow
         6: .line 665
      StackMap locals:
      StackMap stack:
            new com.sun.codemodel.internal.JDefinedClass
            dup
            aload 0 /* this */
            iload 1 /* mods */
            aload 2 /* name */
            aload 3 /* classTypeVal */
            invokespecial com.sun.codemodel.internal.JDefinedClass.<init>:(Lcom/sun/codemodel/internal/JClassContainer;ILjava/lang/String;Lcom/sun/codemodel/internal/ClassType;)V
            astore 5 /* c */
        start local 5 // com.sun.codemodel.internal.JDefinedClass c
         7: .line 666
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.getClasses:()Ljava/util/Map;
            aload 4 /* NAME */
            aload 5 /* c */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 667
            aload 5 /* c */
            areturn
        end local 5 // com.sun.codemodel.internal.JDefinedClass c
        end local 4 // java.lang.String NAME
        end local 3 // com.sun.codemodel.internal.ClassType classTypeVal
        end local 2 // java.lang.String name
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    9     1          mods  I
            0    9     2          name  Ljava/lang/String;
            0    9     3  classTypeVal  Lcom/sun/codemodel/internal/ClassType;
            2    3     4          NAME  Ljava/lang/String;
            4    9     4          NAME  Ljava/lang/String;
            7    9     5             c  Lcom/sun/codemodel/internal/JDefinedClass;
    Exceptions:
      throws com.sun.codemodel.internal.JClassAlreadyExistsException
    MethodParameters:
              Name  Flags
      mods          
      name          
      classTypeVal  

  public com.sun.codemodel.internal.JDefinedClass _class(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.String name
         0: .line 676
            aload 0 /* this */
            iconst_1
            aload 1 /* name */
            invokevirtual com.sun.codemodel.internal.JDefinedClass._class:(ILjava/lang/String;)Lcom/sun/codemodel/internal/JDefinedClass;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws com.sun.codemodel.internal.JClassAlreadyExistsException
    MethodParameters:
      Name  Flags
      name  

  public com.sun.codemodel.internal.JDefinedClass _interface(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // int mods
        start local 2 // java.lang.String name
         0: .line 692
            aload 0 /* this */
            iload 1 /* mods */
            aload 2 /* name */
            getstatic com.sun.codemodel.internal.ClassType.INTERFACE:Lcom/sun/codemodel/internal/ClassType;
            invokevirtual com.sun.codemodel.internal.JDefinedClass._class:(ILjava/lang/String;Lcom/sun/codemodel/internal/ClassType;)Lcom/sun/codemodel/internal/JDefinedClass;
            areturn
        end local 2 // java.lang.String name
        end local 1 // int mods
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  mods  I
            0    1     2  name  Ljava/lang/String;
    Exceptions:
      throws com.sun.codemodel.internal.JClassAlreadyExistsException
    MethodParameters:
      Name  Flags
      mods  
      name  

  public com.sun.codemodel.internal.JDefinedClass _interface(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/codemodel/internal/JDefinedClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.String name
         0: .line 700
            aload 0 /* this */
            iconst_1
            aload 1 /* name */
            invokevirtual com.sun.codemodel.internal.JDefinedClass._interface:(ILjava/lang/String;)Lcom/sun/codemodel/internal/JDefinedClass;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws com.sun.codemodel.internal.JClassAlreadyExistsException
    MethodParameters:
      Name  Flags
      name  

  public com.sun.codemodel.internal.JDocComment javadoc();
    descriptor: ()Lcom/sun/codemodel/internal/JDocComment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 710
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.jdoc:Lcom/sun/codemodel/internal/JDocComment;
            ifnonnull 2
         1: .line 711
            aload 0 /* this */
            new com.sun.codemodel.internal.JDocComment
            dup
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            invokespecial com.sun.codemodel.internal.JDocComment.<init>:(Lcom/sun/codemodel/internal/JCodeModel;)V
            putfield com.sun.codemodel.internal.JDefinedClass.jdoc:Lcom/sun/codemodel/internal/JDocComment;
         2: .line 712
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.jdoc:Lcom/sun/codemodel/internal/JDocComment;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public void hide();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 724
            aload 0 /* this */
            iconst_1
            putfield com.sun.codemodel.internal.JDefinedClass.hideFile:Z
         1: .line 725
            return
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public boolean isHidden();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 728
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.hideFile:Z
            ireturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public final java.util.Iterator<com.sun.codemodel.internal.JDefinedClass> classes();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 736
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classes:Ljava/util/Map;
            ifnonnull 2
         1: .line 737
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
         2: .line 739
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classes:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
    Signature: ()Ljava/util/Iterator<Lcom/sun/codemodel/internal/JDefinedClass;>;

  private java.util.Map<java.lang.String, com.sun.codemodel.internal.JDefinedClass> getClasses();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 743
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classes:Ljava/util/Map;
            ifnonnull 2
         1: .line 744
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield com.sun.codemodel.internal.JDefinedClass.classes:Ljava/util/Map;
         2: .line 745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classes:Ljava/util/Map;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lcom/sun/codemodel/internal/JDefinedClass;>;

  public final com.sun.codemodel.internal.JClass[] listClasses();
    descriptor: ()[Lcom/sun/codemodel/internal/JClass;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 753
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classes:Ljava/util/Map;
            ifnonnull 2
         1: .line 754
            iconst_0
            anewarray com.sun.codemodel.internal.JClass
            areturn
         2: .line 756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classes:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classes:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            anewarray com.sun.codemodel.internal.JClass
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JClass[]
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JClass outer();
    descriptor: ()Lcom/sun/codemodel/internal/JClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 761
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.outer:Lcom/sun/codemodel/internal/JClassContainer;
            invokeinterface com.sun.codemodel.internal.JClassContainer.isClass:()Z
            ifeq 2
         1: .line 762
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.outer:Lcom/sun/codemodel/internal/JClassContainer;
            checkcast com.sun.codemodel.internal.JClass
            areturn
         2: .line 764
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public void declare(com.sun.codemodel.internal.JFormatter);
    descriptor: (Lcom/sun/codemodel/internal/JFormatter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // com.sun.codemodel.internal.JFormatter f
         0: .line 768
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.jdoc:Lcom/sun/codemodel/internal/JDocComment;
            ifnull 2
         1: .line 769
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.jdoc:Lcom/sun/codemodel/internal/JDocComment;
            invokevirtual com.sun.codemodel.internal.JFormatter.g:(Lcom/sun/codemodel/internal/JGenerable;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         2: .line 771
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.annotations:Ljava/util/List;
            ifnull 7
         3: .line 772
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.annotations:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JAnnotationUse
            astore 2 /* annotation */
        start local 2 // com.sun.codemodel.internal.JAnnotationUse annotation
         5: .line 773
            aload 1 /* f */
            aload 2 /* annotation */
            invokevirtual com.sun.codemodel.internal.JFormatter.g:(Lcom/sun/codemodel/internal/JGenerable;)Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            pop
        end local 2 // com.sun.codemodel.internal.JAnnotationUse annotation
         6: .line 772
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 776
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter
      StackMap stack:
            aload 1 /* f */
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.mods:Lcom/sun/codemodel/internal/JMods;
            invokevirtual com.sun.codemodel.internal.JFormatter.g:(Lcom/sun/codemodel/internal/JGenerable;)Lcom/sun/codemodel/internal/JFormatter;
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classType:Lcom/sun/codemodel/internal/ClassType;
            getfield com.sun.codemodel.internal.ClassType.declarationToken:Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.name:Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JFormatter.id:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.generifiable:Lcom/sun/codemodel/internal/JGenerifiableImpl;
            invokevirtual com.sun.codemodel.internal.JFormatter.d:(Lcom/sun/codemodel/internal/JDeclaration;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         8: .line 778
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.superClass:Lcom/sun/codemodel/internal/JClass;
            ifnull 10
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.superClass:Lcom/sun/codemodel/internal/JClass;
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            ldc Ljava/lang/Object;
            invokevirtual com.sun.codemodel.internal.JCodeModel.ref:(Ljava/lang/Class;)Lcom/sun/codemodel/internal/JClass;
            if_acmpeq 10
         9: .line 779
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.i:()Lcom/sun/codemodel/internal/JFormatter;
            ldc "extends"
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.superClass:Lcom/sun/codemodel/internal/JClass;
            invokevirtual com.sun.codemodel.internal.JFormatter.g:(Lcom/sun/codemodel/internal/JGenerable;)Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.o:()Lcom/sun/codemodel/internal/JFormatter;
            pop
        10: .line 781
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.interfaces:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 18
        11: .line 782
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.superClass:Lcom/sun/codemodel/internal/JClass;
            ifnonnull 13
        12: .line 783
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            pop
        13: .line 784
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JFormatter.i:()Lcom/sun/codemodel/internal/JFormatter;
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classType:Lcom/sun/codemodel/internal/ClassType;
            getstatic com.sun.codemodel.internal.ClassType.INTERFACE:Lcom/sun/codemodel/internal/ClassType;
            if_acmpne 14
            ldc "extends"
            goto 15
      StackMap locals:
      StackMap stack: com.sun.codemodel.internal.JFormatter
        14: ldc "implements"
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter
      StackMap stack: com.sun.codemodel.internal.JFormatter java.lang.String
        15: invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            pop
        16: .line 785
            aload 1 /* f */
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.interfaces:Ljava/util/Set;
            invokevirtual com.sun.codemodel.internal.JFormatter.g:(Ljava/util/Collection;)Lcom/sun/codemodel/internal/JFormatter;
            pop
        17: .line 786
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.o:()Lcom/sun/codemodel/internal/JFormatter;
            pop
        18: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.declareBody:(Lcom/sun/codemodel/internal/JFormatter;)V
        19: .line 789
            return
        end local 1 // com.sun.codemodel.internal.JFormatter f
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lcom/sun/codemodel/internal/JDefinedClass;
            0   20     1           f  Lcom/sun/codemodel/internal/JFormatter;
            5    6     2  annotation  Lcom/sun/codemodel/internal/JAnnotationUse;
    MethodParameters:
      Name  Flags
      f     

  protected void declareBody(com.sun.codemodel.internal.JFormatter);
    descriptor: (Lcom/sun/codemodel/internal/JFormatter;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // com.sun.codemodel.internal.JFormatter f
         0: .line 795
            aload 1 /* f */
            bipush 123
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(C)Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.i:()Lcom/sun/codemodel/internal/JFormatter;
            pop
         1: .line 796
            iconst_1
            istore 2 /* first */
        start local 2 // boolean first
         2: .line 798
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.enumConstantsByName:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 10
         3: .line 799
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.enumConstantsByName:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter int top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JEnumConstant
            astore 3 /* c */
        start local 3 // com.sun.codemodel.internal.JEnumConstant c
         5: .line 800
            iload 2 /* first */
            ifne 6
            aload 1 /* f */
            bipush 44
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(C)Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            pop
         6: .line 801
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter int com.sun.codemodel.internal.JEnumConstant java.util.Iterator
      StackMap stack:
            aload 1 /* f */
            aload 3 /* c */
            invokevirtual com.sun.codemodel.internal.JFormatter.d:(Lcom/sun/codemodel/internal/JDeclaration;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         7: .line 802
            iconst_0
            istore 2 /* first */
        end local 3 // com.sun.codemodel.internal.JEnumConstant c
         8: .line 799
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 804
            aload 1 /* f */
            bipush 59
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(C)Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            pop
        10: .line 807
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.fields:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter int top java.util.Iterator
      StackMap stack:
        11: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JFieldVar
            astore 3 /* field */
        start local 3 // com.sun.codemodel.internal.JFieldVar field
        12: .line 808
            aload 1 /* f */
            aload 3 /* field */
            invokevirtual com.sun.codemodel.internal.JFormatter.d:(Lcom/sun/codemodel/internal/JDeclaration;)Lcom/sun/codemodel/internal/JFormatter;
            pop
        end local 3 // com.sun.codemodel.internal.JFieldVar field
        13: .line 807
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 809
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.init:Lcom/sun/codemodel/internal/JBlock;
            ifnull 16
        15: .line 810
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            ldc "static"
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.init:Lcom/sun/codemodel/internal/JBlock;
            invokevirtual com.sun.codemodel.internal.JFormatter.s:(Lcom/sun/codemodel/internal/JStatement;)Lcom/sun/codemodel/internal/JFormatter;
            pop
        16: .line 811
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.instanceInit:Lcom/sun/codemodel/internal/JBlock;
            ifnull 18
        17: .line 812
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.instanceInit:Lcom/sun/codemodel/internal/JBlock;
            invokevirtual com.sun.codemodel.internal.JFormatter.s:(Lcom/sun/codemodel/internal/JStatement;)Lcom/sun/codemodel/internal/JFormatter;
            pop
        18: .line 813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.constructors:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 21
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter int top java.util.Iterator
      StackMap stack:
        19: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JMethod
            astore 3 /* m */
        start local 3 // com.sun.codemodel.internal.JMethod m
        20: .line 814
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            aload 3 /* m */
            invokevirtual com.sun.codemodel.internal.JFormatter.d:(Lcom/sun/codemodel/internal/JDeclaration;)Lcom/sun/codemodel/internal/JFormatter;
            pop
        end local 3 // com.sun.codemodel.internal.JMethod m
        21: .line 813
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 816
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.methods:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 25
      StackMap locals:
      StackMap stack:
        23: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JMethod
            astore 3 /* m */
        start local 3 // com.sun.codemodel.internal.JMethod m
        24: .line 817
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            aload 3 /* m */
            invokevirtual com.sun.codemodel.internal.JFormatter.d:(Lcom/sun/codemodel/internal/JDeclaration;)Lcom/sun/codemodel/internal/JFormatter;
            pop
        end local 3 // com.sun.codemodel.internal.JMethod m
        25: .line 816
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        26: .line 819
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classes:Ljava/util/Map;
            ifnull 31
        27: .line 820
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.classes:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 30
      StackMap locals:
      StackMap stack:
        28: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JDefinedClass
            astore 3 /* dc */
        start local 3 // com.sun.codemodel.internal.JDefinedClass dc
        29: .line 821
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            aload 3 /* dc */
            invokevirtual com.sun.codemodel.internal.JFormatter.d:(Lcom/sun/codemodel/internal/JDeclaration;)Lcom/sun/codemodel/internal/JFormatter;
            pop
        end local 3 // com.sun.codemodel.internal.JDefinedClass dc
        30: .line 820
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        31: .line 824
      StackMap locals: com.sun.codemodel.internal.JDefinedClass com.sun.codemodel.internal.JFormatter int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.directBlock:Ljava/lang/String;
            ifnull 33
        32: .line 825
            aload 1 /* f */
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.directBlock:Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            pop
        33: .line 826
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.o:()Lcom/sun/codemodel/internal/JFormatter;
            bipush 125
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(C)Lcom/sun/codemodel/internal/JFormatter;
            invokevirtual com.sun.codemodel.internal.JFormatter.nl:()Lcom/sun/codemodel/internal/JFormatter;
            pop
        34: .line 827
            return
        end local 2 // boolean first
        end local 1 // com.sun.codemodel.internal.JFormatter f
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   35     0   this  Lcom/sun/codemodel/internal/JDefinedClass;
            0   35     1      f  Lcom/sun/codemodel/internal/JFormatter;
            2   35     2  first  Z
            5    8     3      c  Lcom/sun/codemodel/internal/JEnumConstant;
           12   13     3  field  Lcom/sun/codemodel/internal/JFieldVar;
           20   21     3      m  Lcom/sun/codemodel/internal/JMethod;
           24   25     3      m  Lcom/sun/codemodel/internal/JMethod;
           29   30     3     dc  Lcom/sun/codemodel/internal/JDefinedClass;
    MethodParameters:
      Name  Flags
      f     

  public void direct(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.String string
         0: .line 837
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.directBlock:Ljava/lang/String;
            ifnonnull 2
         1: .line 838
            aload 0 /* this */
            aload 1 /* string */
            putfield com.sun.codemodel.internal.JDefinedClass.directBlock:Ljava/lang/String;
            goto 3
         2: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.codemodel.internal.JDefinedClass.directBlock:Ljava/lang/String;
            new java.lang.StringBuilder
            dup_x1
            swap
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* string */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.sun.codemodel.internal.JDefinedClass.directBlock:Ljava/lang/String;
         3: .line 841
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String string
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    4     1  string  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      string  

  public final com.sun.codemodel.internal.JPackage _package();
    descriptor: ()Lcom/sun/codemodel/internal/JPackage;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 844
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.outer:Lcom/sun/codemodel/internal/JClassContainer;
            astore 1 /* p */
        start local 1 // com.sun.codemodel.internal.JClassContainer p
         1: .line 845
            goto 3
         2: .line 846
      StackMap locals: com.sun.codemodel.internal.JClassContainer
      StackMap stack:
            aload 1 /* p */
            invokeinterface com.sun.codemodel.internal.JClassContainer.parentContainer:()Lcom/sun/codemodel/internal/JClassContainer;
            astore 1 /* p */
         3: .line 845
      StackMap locals:
      StackMap stack:
            aload 1 /* p */
            instanceof com.sun.codemodel.internal.JPackage
            ifeq 2
         4: .line 847
            aload 1 /* p */
            checkcast com.sun.codemodel.internal.JPackage
            areturn
        end local 1 // com.sun.codemodel.internal.JClassContainer p
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            1    5     1     p  Lcom/sun/codemodel/internal/JClassContainer;

  public final com.sun.codemodel.internal.JClassContainer parentContainer();
    descriptor: ()Lcom/sun/codemodel/internal/JClassContainer;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 851
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.outer:Lcom/sun/codemodel/internal/JClassContainer;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  public com.sun.codemodel.internal.JTypeVar generify(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/codemodel/internal/JTypeVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.String name
         0: .line 855
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.generifiable:Lcom/sun/codemodel/internal/JGenerifiableImpl;
            aload 1 /* name */
            invokevirtual com.sun.codemodel.internal.JGenerifiableImpl.generify:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JTypeVar;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public com.sun.codemodel.internal.JTypeVar generify(java.lang.String, java.lang.Class<?>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lcom/sun/codemodel/internal/JTypeVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class bound
         0: .line 858
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.generifiable:Lcom/sun/codemodel/internal/JGenerifiableImpl;
            aload 1 /* name */
            aload 2 /* bound */
            invokevirtual com.sun.codemodel.internal.JGenerifiableImpl.generify:(Ljava/lang/String;Ljava/lang/Class;)Lcom/sun/codemodel/internal/JTypeVar;
            areturn
        end local 2 // java.lang.Class bound
        end local 1 // java.lang.String name
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1   name  Ljava/lang/String;
            0    1     2  bound  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;)Lcom/sun/codemodel/internal/JTypeVar;
    MethodParameters:
       Name  Flags
      name   
      bound  

  public com.sun.codemodel.internal.JTypeVar generify(java.lang.String, com.sun.codemodel.internal.JClass);
    descriptor: (Ljava/lang/String;Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JTypeVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.String name
        start local 2 // com.sun.codemodel.internal.JClass bound
         0: .line 861
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.generifiable:Lcom/sun/codemodel/internal/JGenerifiableImpl;
            aload 1 /* name */
            aload 2 /* bound */
            invokevirtual com.sun.codemodel.internal.JGenerifiableImpl.generify:(Ljava/lang/String;Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JTypeVar;
            areturn
        end local 2 // com.sun.codemodel.internal.JClass bound
        end local 1 // java.lang.String name
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1   name  Ljava/lang/String;
            0    1     2  bound  Lcom/sun/codemodel/internal/JClass;
    MethodParameters:
       Name  Flags
      name   
      bound  

  public com.sun.codemodel.internal.JTypeVar[] typeParams();
    descriptor: ()[Lcom/sun/codemodel/internal/JTypeVar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 865
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.generifiable:Lcom/sun/codemodel/internal/JGenerifiableImpl;
            invokevirtual com.sun.codemodel.internal.JGenerifiableImpl.typeParams:()[Lcom/sun/codemodel/internal/JTypeVar;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;

  protected com.sun.codemodel.internal.JClass substituteParams(com.sun.codemodel.internal.JTypeVar[], java.util.List<com.sun.codemodel.internal.JClass>);
    descriptor: ([Lcom/sun/codemodel/internal/JTypeVar;Ljava/util/List;)Lcom/sun/codemodel/internal/JClass;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // com.sun.codemodel.internal.JTypeVar[] variables
        start local 2 // java.util.List bindings
         0: .line 871
            aload 0 /* this */
            areturn
        end local 2 // java.util.List bindings
        end local 1 // com.sun.codemodel.internal.JTypeVar[] variables
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  variables  [Lcom/sun/codemodel/internal/JTypeVar;
            0    1     2   bindings  Ljava/util/List<Lcom/sun/codemodel/internal/JClass;>;
    Signature: ([Lcom/sun/codemodel/internal/JTypeVar;Ljava/util/List<Lcom/sun/codemodel/internal/JClass;>;)Lcom/sun/codemodel/internal/JClass;
    MethodParameters:
           Name  Flags
      variables  
      bindings   

  public com.sun.codemodel.internal.JAnnotationUse annotate(java.lang.Class<? extends java.lang.annotation.Annotation>);
    descriptor: (Ljava/lang/Class;)Lcom/sun/codemodel/internal/JAnnotationUse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.Class clazz
         0: .line 879
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JDefinedClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            aload 1 /* clazz */
            invokevirtual com.sun.codemodel.internal.JCodeModel.ref:(Ljava/lang/Class;)Lcom/sun/codemodel/internal/JClass;
            invokevirtual com.sun.codemodel.internal.JDefinedClass.annotate:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JAnnotationUse;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  clazz  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)Lcom/sun/codemodel/internal/JAnnotationUse;
    MethodParameters:
       Name  Flags
      clazz  

  public com.sun.codemodel.internal.JAnnotationUse annotate(com.sun.codemodel.internal.JClass);
    descriptor: (Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JAnnotationUse;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // com.sun.codemodel.internal.JClass clazz
         0: .line 887
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.annotations:Ljava/util/List;
            ifnonnull 2
         1: .line 888
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.codemodel.internal.JDefinedClass.annotations:Ljava/util/List;
         2: .line 889
      StackMap locals:
      StackMap stack:
            new com.sun.codemodel.internal.JAnnotationUse
            dup
            aload 1 /* clazz */
            invokespecial com.sun.codemodel.internal.JAnnotationUse.<init>:(Lcom/sun/codemodel/internal/JClass;)V
            astore 2 /* a */
        start local 2 // com.sun.codemodel.internal.JAnnotationUse a
         3: .line 890
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.annotations:Ljava/util/List;
            aload 2 /* a */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 891
            aload 2 /* a */
            areturn
        end local 2 // com.sun.codemodel.internal.JAnnotationUse a
        end local 1 // com.sun.codemodel.internal.JClass clazz
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    5     1  clazz  Lcom/sun/codemodel/internal/JClass;
            3    5     2      a  Lcom/sun/codemodel/internal/JAnnotationUse;
    MethodParameters:
       Name  Flags
      clazz  

  public <W extends com.sun.codemodel.internal.JAnnotationWriter> W annotate2(java.lang.Class<W>);
    descriptor: (Ljava/lang/Class;)Lcom/sun/codemodel/internal/JAnnotationWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // java.lang.Class clazz
         0: .line 895
            aload 1 /* clazz */
            aload 0 /* this */
            invokestatic com.sun.codemodel.internal.TypedAnnotationWriter.create:(Ljava/lang/Class;Lcom/sun/codemodel/internal/JAnnotatable;)Lcom/sun/codemodel/internal/JAnnotationWriter;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  clazz  Ljava/lang/Class<TW;>;
    Signature: <W::Lcom/sun/codemodel/internal/JAnnotationWriter;>(Ljava/lang/Class<TW;>;)TW;
    MethodParameters:
       Name  Flags
      clazz  

  public boolean removeAnnotation(com.sun.codemodel.internal.JAnnotationUse);
    descriptor: (Lcom/sun/codemodel/internal/JAnnotationUse;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
        start local 1 // com.sun.codemodel.internal.JAnnotationUse annotation
         0: .line 899
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.annotations:Ljava/util/List;
            aload 1 /* annotation */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // com.sun.codemodel.internal.JAnnotationUse annotation
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/sun/codemodel/internal/JDefinedClass;
            0    1     1  annotation  Lcom/sun/codemodel/internal/JAnnotationUse;
    MethodParameters:
            Name  Flags
      annotation  

  public java.util.Collection<com.sun.codemodel.internal.JAnnotationUse> annotations();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 906
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.annotations:Ljava/util/List;
            ifnonnull 2
         1: .line 907
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.codemodel.internal.JDefinedClass.annotations:Ljava/util/List;
         2: .line 908
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.annotations:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
    Signature: ()Ljava/util/Collection<Lcom/sun/codemodel/internal/JAnnotationUse;>;

  public com.sun.codemodel.internal.JMods mods();
    descriptor: ()Lcom/sun/codemodel/internal/JMods;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JDefinedClass this
         0: .line 917
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JDefinedClass.mods:Lcom/sun/codemodel/internal/JMods;
            areturn
        end local 0 // com.sun.codemodel.internal.JDefinedClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JDefinedClass;
}
SourceFile: "JDefinedClass.java"
NestMembers:
  com.sun.codemodel.internal.JDefinedClass$1
InnerClasses:
  com.sun.codemodel.internal.JDefinedClass$1