public abstract class com.sun.codemodel.internal.JClass extends com.sun.codemodel.internal.JType
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.codemodel.internal.JClass
  super_class: com.sun.codemodel.internal.JType
{
  private final com.sun.codemodel.internal.JCodeModel _owner;
    descriptor: Lcom/sun/codemodel/internal/JCodeModel;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected static final com.sun.codemodel.internal.JTypeVar[] EMPTY_ARRAY;
    descriptor: [Lcom/sun/codemodel/internal/JTypeVar;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 115
            iconst_0
            anewarray com.sun.codemodel.internal.JTypeVar
            putstatic com.sun.codemodel.internal.JClass.EMPTY_ARRAY:[Lcom/sun/codemodel/internal/JTypeVar;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(com.sun.codemodel.internal.JCodeModel);
    descriptor: (Lcom/sun/codemodel/internal/JCodeModel;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // com.sun.codemodel.internal.JCodeModel _owner
         0: .line 44
            aload 0 /* this */
            invokespecial com.sun.codemodel.internal.JType.<init>:()V
         1: .line 45
            aload 0 /* this */
            aload 1 /* _owner */
            putfield com.sun.codemodel.internal.JClass._owner:Lcom/sun/codemodel/internal/JCodeModel;
         2: .line 46
            return
        end local 1 // com.sun.codemodel.internal.JCodeModel _owner
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/codemodel/internal/JClass;
            0    3     1  _owner  Lcom/sun/codemodel/internal/JCodeModel;
    MethodParameters:
        Name  Flags
      _owner  

  public abstract java.lang.String name();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.sun.codemodel.internal.JPackage _package();
    descriptor: ()Lcom/sun/codemodel/internal/JPackage;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  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.JClass this
         0: .line 69
            aconst_null
            areturn
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JClass;

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

  public abstract com.sun.codemodel.internal.JClass _extends();
    descriptor: ()Lcom/sun/codemodel/internal/JClass;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.Iterator<com.sun.codemodel.internal.JClass> _implements();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Iterator<Lcom/sun/codemodel/internal/JClass;>;

  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.JClass this
         0: .line 109
            getstatic com.sun.codemodel.internal.JClass.EMPTY_ARRAY:[Lcom/sun/codemodel/internal/JTypeVar;
            areturn
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JClass;

  public abstract boolean isInterface();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isAbstract();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public com.sun.codemodel.internal.JPrimitiveType getPrimitiveType();
    descriptor: ()Lcom/sun/codemodel/internal/JPrimitiveType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JClass this
         0: .line 132
            aconst_null
            areturn
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JClass;

  public com.sun.codemodel.internal.JClass boxify();
    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.JClass this
         0: .line 139
            aload 0 /* this */
            areturn
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JClass;

  public com.sun.codemodel.internal.JType unboxify();
    descriptor: ()Lcom/sun/codemodel/internal/JType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.sun.codemodel.internal.JClass this
         0: .line 142
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JClass.getPrimitiveType:()Lcom/sun/codemodel/internal/JPrimitiveType;
            astore 1 /* pt */
        start local 1 // com.sun.codemodel.internal.JPrimitiveType pt
         1: .line 143
            aload 1 /* pt */
            ifnonnull 2
            aload 0 /* this */
            goto 3
      StackMap locals: com.sun.codemodel.internal.JPrimitiveType
      StackMap stack:
         2: aload 1 /* pt */
      StackMap locals:
      StackMap stack: com.sun.codemodel.internal.JType
         3: areturn
        end local 1 // com.sun.codemodel.internal.JPrimitiveType pt
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/codemodel/internal/JClass;
            1    4     1    pt  Lcom/sun/codemodel/internal/JPrimitiveType;

  public com.sun.codemodel.internal.JClass erasure();
    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.JClass this
         0: .line 147
            aload 0 /* this */
            areturn
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JClass;

  public final boolean isAssignableFrom(com.sun.codemodel.internal.JClass);
    descriptor: (Lcom/sun/codemodel/internal/JClass;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // com.sun.codemodel.internal.JClass derived
         0: .line 160
            aload 1 /* derived */
            instanceof com.sun.codemodel.internal.JNullType
            ifeq 1
            iconst_1
            ireturn
         1: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* derived */
            if_acmpne 2
            iconst_1
            ireturn
         2: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JClass._package:()Lcom/sun/codemodel/internal/JPackage;
            invokevirtual com.sun.codemodel.internal.JPackage.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_acmpne 3
            iconst_1
            ireturn
         3: .line 168
      StackMap locals:
      StackMap stack:
            aload 1 /* derived */
            invokevirtual com.sun.codemodel.internal.JClass._extends:()Lcom/sun/codemodel/internal/JClass;
            astore 2 /* b */
        start local 2 // com.sun.codemodel.internal.JClass b
         4: .line 169
            aload 2 /* b */
            ifnull 6
            aload 0 /* this */
            aload 2 /* b */
            invokevirtual com.sun.codemodel.internal.JClass.isAssignableFrom:(Lcom/sun/codemodel/internal/JClass;)Z
            ifeq 6
         5: .line 170
            iconst_1
            ireturn
         6: .line 172
      StackMap locals: com.sun.codemodel.internal.JClass
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JClass.isInterface:()Z
            ifeq 12
         7: .line 173
            aload 1 /* derived */
            invokevirtual com.sun.codemodel.internal.JClass._implements:()Ljava/util/Iterator;
            astore 3 /* itfs */
        start local 3 // java.util.Iterator itfs
         8: .line 174
            goto 11
         9: .line 175
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 3 /* itfs */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JClass
            invokevirtual com.sun.codemodel.internal.JClass.isAssignableFrom:(Lcom/sun/codemodel/internal/JClass;)Z
            ifeq 11
        10: .line 176
            iconst_1
            ireturn
        11: .line 174
      StackMap locals:
      StackMap stack:
            aload 3 /* itfs */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 3 // java.util.Iterator itfs
        12: .line 179
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // com.sun.codemodel.internal.JClass b
        end local 1 // com.sun.codemodel.internal.JClass derived
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/sun/codemodel/internal/JClass;
            0   13     1  derived  Lcom/sun/codemodel/internal/JClass;
            4   13     2        b  Lcom/sun/codemodel/internal/JClass;
            8   12     3     itfs  Ljava/util/Iterator<Lcom/sun/codemodel/internal/JClass;>;
    MethodParameters:
         Name  Flags
      derived  

  public final com.sun.codemodel.internal.JClass getBaseClass(com.sun.codemodel.internal.JClass);
    descriptor: (Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // com.sun.codemodel.internal.JClass baseType
         0: .line 207
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JClass.erasure:()Lcom/sun/codemodel/internal/JClass;
            aload 1 /* baseType */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 208
            aload 0 /* this */
            areturn
         2: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JClass._extends:()Lcom/sun/codemodel/internal/JClass;
            astore 2 /* b */
        start local 2 // com.sun.codemodel.internal.JClass b
         3: .line 211
            aload 2 /* b */
            ifnull 7
         4: .line 212
            aload 2 /* b */
            aload 1 /* baseType */
            invokevirtual com.sun.codemodel.internal.JClass.getBaseClass:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
            astore 3 /* bc */
        start local 3 // com.sun.codemodel.internal.JClass bc
         5: .line 213
            aload 3 /* bc */
            ifnull 7
         6: .line 214
            aload 3 /* bc */
            areturn
        end local 3 // com.sun.codemodel.internal.JClass bc
         7: .line 217
      StackMap locals: com.sun.codemodel.internal.JClass
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JClass._implements:()Ljava/util/Iterator;
            astore 3 /* itfs */
        start local 3 // java.util.Iterator itfs
         8: .line 218
            goto 12
         9: .line 219
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* itfs */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JClass
            aload 1 /* baseType */
            invokevirtual com.sun.codemodel.internal.JClass.getBaseClass:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
            astore 4 /* bc */
        start local 4 // com.sun.codemodel.internal.JClass bc
        10: .line 220
            aload 4 /* bc */
            ifnull 12
        11: .line 221
            aload 4 /* bc */
            areturn
        end local 4 // com.sun.codemodel.internal.JClass bc
        12: .line 218
      StackMap locals:
      StackMap stack:
            aload 3 /* itfs */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 224
            aconst_null
            areturn
        end local 3 // java.util.Iterator itfs
        end local 2 // com.sun.codemodel.internal.JClass b
        end local 1 // com.sun.codemodel.internal.JClass baseType
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lcom/sun/codemodel/internal/JClass;
            0   14     1  baseType  Lcom/sun/codemodel/internal/JClass;
            3   14     2         b  Lcom/sun/codemodel/internal/JClass;
            5    7     3        bc  Lcom/sun/codemodel/internal/JClass;
            8   14     3      itfs  Ljava/util/Iterator<Lcom/sun/codemodel/internal/JClass;>;
           10   12     4        bc  Lcom/sun/codemodel/internal/JClass;
    MethodParameters:
          Name  Flags
      baseType  

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

  public com.sun.codemodel.internal.JClass array();
    descriptor: ()Lcom/sun/codemodel/internal/JClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JClass this
         0: .line 234
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JClass.arrayClass:Lcom/sun/codemodel/internal/JClass;
            ifnonnull 2
         1: .line 235
            aload 0 /* this */
            new com.sun.codemodel.internal.JArrayClass
            dup
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            aload 0 /* this */
            invokespecial com.sun.codemodel.internal.JArrayClass.<init>:(Lcom/sun/codemodel/internal/JCodeModel;Lcom/sun/codemodel/internal/JType;)V
            putfield com.sun.codemodel.internal.JClass.arrayClass:Lcom/sun/codemodel/internal/JClass;
         2: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JClass.arrayClass:Lcom/sun/codemodel/internal/JClass;
            areturn
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/codemodel/internal/JClass;

  public com.sun.codemodel.internal.JClass narrow(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lcom/sun/codemodel/internal/JClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // java.lang.Class clazz
         0: .line 247
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JClass.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.JClass.narrow:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/codemodel/internal/JClass;
            0    1     1  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lcom/sun/codemodel/internal/JClass;
    MethodParameters:
       Name  Flags
      clazz  

  public com.sun.codemodel.internal.JClass narrow(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)Lcom/sun/codemodel/internal/JClass;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // java.lang.Class[] clazz
         0: .line 251
            aload 1 /* clazz */
            arraylength
            anewarray com.sun.codemodel.internal.JClass
            astore 2 /* r */
        start local 2 // com.sun.codemodel.internal.JClass[] r
         1: .line 252
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 253
      StackMap locals: com.sun.codemodel.internal.JClass[] int
      StackMap stack:
            aload 2 /* r */
            iload 3 /* i */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JClass.owner:()Lcom/sun/codemodel/internal/JCodeModel;
            aload 1 /* clazz */
            iload 3 /* i */
            aaload
            invokevirtual com.sun.codemodel.internal.JCodeModel.ref:(Ljava/lang/Class;)Lcom/sun/codemodel/internal/JClass;
            aastore
         4: .line 252
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 1 /* clazz */
            arraylength
            if_icmplt 3
        end local 3 // int i
         6: .line 254
            aload 0 /* this */
            aload 2 /* r */
            invokevirtual com.sun.codemodel.internal.JClass.narrow:([Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
            areturn
        end local 2 // com.sun.codemodel.internal.JClass[] r
        end local 1 // java.lang.Class[] clazz
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/sun/codemodel/internal/JClass;
            0    7     1  clazz  [Ljava/lang/Class;
            1    7     2      r  [Lcom/sun/codemodel/internal/JClass;
            2    6     3      i  I
    Signature: ([Ljava/lang/Class<*>;)Lcom/sun/codemodel/internal/JClass;
    MethodParameters:
       Name  Flags
      clazz  

  public com.sun.codemodel.internal.JClass narrow(com.sun.codemodel.internal.JClass);
    descriptor: (Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // com.sun.codemodel.internal.JClass clazz
         0: .line 265
            new com.sun.codemodel.internal.JNarrowedClass
            dup
            aload 0 /* this */
            aload 1 /* clazz */
            invokespecial com.sun.codemodel.internal.JNarrowedClass.<init>:(Lcom/sun/codemodel/internal/JClass;Lcom/sun/codemodel/internal/JClass;)V
            areturn
        end local 1 // com.sun.codemodel.internal.JClass clazz
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/codemodel/internal/JClass;
            0    1     1  clazz  Lcom/sun/codemodel/internal/JClass;
    MethodParameters:
       Name  Flags
      clazz  

  public com.sun.codemodel.internal.JClass narrow(com.sun.codemodel.internal.JType);
    descriptor: (Lcom/sun/codemodel/internal/JType;)Lcom/sun/codemodel/internal/JClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // com.sun.codemodel.internal.JType type
         0: .line 269
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual com.sun.codemodel.internal.JType.boxify:()Lcom/sun/codemodel/internal/JClass;
            invokevirtual com.sun.codemodel.internal.JClass.narrow:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
            areturn
        end local 1 // com.sun.codemodel.internal.JType type
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JClass;
            0    1     1  type  Lcom/sun/codemodel/internal/JType;
    MethodParameters:
      Name  Flags
      type  

  public com.sun.codemodel.internal.JClass narrow(com.sun.codemodel.internal.JClass[]);
    descriptor: ([Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // com.sun.codemodel.internal.JClass[] clazz
         0: .line 273
            new com.sun.codemodel.internal.JNarrowedClass
            dup
            aload 0 /* this */
            aload 1 /* clazz */
            invokevirtual com.sun.codemodel.internal.JClass[].clone:()Ljava/lang/Object;
            checkcast com.sun.codemodel.internal.JClass[]
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial com.sun.codemodel.internal.JNarrowedClass.<init>:(Lcom/sun/codemodel/internal/JClass;Ljava/util/List;)V
            areturn
        end local 1 // com.sun.codemodel.internal.JClass[] clazz
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/codemodel/internal/JClass;
            0    1     1  clazz  [Lcom/sun/codemodel/internal/JClass;
    MethodParameters:
       Name  Flags
      clazz  

  public com.sun.codemodel.internal.JClass narrow(java.util.List<? extends com.sun.codemodel.internal.JClass>);
    descriptor: (Ljava/util/List;)Lcom/sun/codemodel/internal/JClass;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // java.util.List clazz
         0: .line 277
            new com.sun.codemodel.internal.JNarrowedClass
            dup
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* clazz */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            invokespecial com.sun.codemodel.internal.JNarrowedClass.<init>:(Lcom/sun/codemodel/internal/JClass;Ljava/util/List;)V
            areturn
        end local 1 // java.util.List clazz
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/codemodel/internal/JClass;
            0    1     1  clazz  Ljava/util/List<+Lcom/sun/codemodel/internal/JClass;>;
    Signature: (Ljava/util/List<+Lcom/sun/codemodel/internal/JClass;>;)Lcom/sun/codemodel/internal/JClass;
    MethodParameters:
       Name  Flags
      clazz  

  public java.util.List<com.sun.codemodel.internal.JClass> getTypeParameters();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JClass this
         0: .line 284
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JClass;
    Signature: ()Ljava/util/List<Lcom/sun/codemodel/internal/JClass;>;

  public final boolean isParameterized();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JClass this
         0: .line 291
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JClass.erasure:()Lcom/sun/codemodel/internal/JClass;
            aload 0 /* this */
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JClass;

  public final com.sun.codemodel.internal.JClass wildcard();
    descriptor: ()Lcom/sun/codemodel/internal/JClass;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JClass this
         0: .line 300
            new com.sun.codemodel.internal.JTypeWildcard
            dup
            aload 0 /* this */
            invokespecial com.sun.codemodel.internal.JTypeWildcard.<init>:(Lcom/sun/codemodel/internal/JClass;)V
            areturn
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JClass;

  protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    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 java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JClass this
         0: .line 318
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JClass.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JClass;

  public final com.sun.codemodel.internal.JExpression dotclass();
    descriptor: ()Lcom/sun/codemodel/internal/JExpression;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.codemodel.internal.JClass this
         0: .line 323
            aload 0 /* this */
            invokestatic com.sun.codemodel.internal.JExpr.dotclass:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JExpression;
            areturn
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JClass;

  public final com.sun.codemodel.internal.JInvocation staticInvoke(com.sun.codemodel.internal.JMethod);
    descriptor: (Lcom/sun/codemodel/internal/JMethod;)Lcom/sun/codemodel/internal/JInvocation;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // com.sun.codemodel.internal.JMethod method
         0: .line 328
            new com.sun.codemodel.internal.JInvocation
            dup
            aload 0 /* this */
            aload 1 /* method */
            invokespecial com.sun.codemodel.internal.JInvocation.<init>:(Lcom/sun/codemodel/internal/JClass;Lcom/sun/codemodel/internal/JMethod;)V
            areturn
        end local 1 // com.sun.codemodel.internal.JMethod method
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/codemodel/internal/JClass;
            0    1     1  method  Lcom/sun/codemodel/internal/JMethod;
    MethodParameters:
        Name  Flags
      method  

  public final com.sun.codemodel.internal.JInvocation staticInvoke(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/codemodel/internal/JInvocation;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // java.lang.String method
         0: .line 333
            new com.sun.codemodel.internal.JInvocation
            dup
            aload 0 /* this */
            aload 1 /* method */
            invokespecial com.sun.codemodel.internal.JInvocation.<init>:(Lcom/sun/codemodel/internal/JClass;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String method
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/codemodel/internal/JClass;
            0    1     1  method  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      method  

  public final com.sun.codemodel.internal.JFieldRef staticRef(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/codemodel/internal/JFieldRef;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // java.lang.String field
         0: .line 338
            new com.sun.codemodel.internal.JFieldRef
            dup
            aload 0 /* this */
            aload 1 /* field */
            invokespecial com.sun.codemodel.internal.JFieldRef.<init>:(Lcom/sun/codemodel/internal/JType;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String field
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/codemodel/internal/JClass;
            0    1     1  field  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      field  

  public final com.sun.codemodel.internal.JFieldRef staticRef(com.sun.codemodel.internal.JVar);
    descriptor: (Lcom/sun/codemodel/internal/JVar;)Lcom/sun/codemodel/internal/JFieldRef;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // com.sun.codemodel.internal.JVar field
         0: .line 343
            new com.sun.codemodel.internal.JFieldRef
            dup
            aload 0 /* this */
            aload 1 /* field */
            invokespecial com.sun.codemodel.internal.JFieldRef.<init>:(Lcom/sun/codemodel/internal/JType;Lcom/sun/codemodel/internal/JVar;)V
            areturn
        end local 1 // com.sun.codemodel.internal.JVar field
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/codemodel/internal/JClass;
            0    1     1  field  Lcom/sun/codemodel/internal/JVar;
    MethodParameters:
       Name  Flags
      field  

  public void generate(com.sun.codemodel.internal.JFormatter);
    descriptor: (Lcom/sun/codemodel/internal/JFormatter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // com.sun.codemodel.internal.JFormatter f
         0: .line 347
            aload 1 /* f */
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JFormatter.t:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         1: .line 348
            return
        end local 1 // com.sun.codemodel.internal.JFormatter f
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JClass;
            0    2     1     f  Lcom/sun/codemodel/internal/JFormatter;
    MethodParameters:
      Name  Flags
      f     

  void printLink(com.sun.codemodel.internal.JFormatter);
    descriptor: (Lcom/sun/codemodel/internal/JFormatter;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JClass this
        start local 1 // com.sun.codemodel.internal.JFormatter f
         0: .line 354
            aload 1 /* f */
            ldc "{@link "
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            aload 0 /* this */
            invokevirtual com.sun.codemodel.internal.JFormatter.g:(Lcom/sun/codemodel/internal/JGenerable;)Lcom/sun/codemodel/internal/JFormatter;
            bipush 125
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(C)Lcom/sun/codemodel/internal/JFormatter;
            pop
         1: .line 355
            return
        end local 1 // com.sun.codemodel.internal.JFormatter f
        end local 0 // com.sun.codemodel.internal.JClass this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JClass;
            0    2     1     f  Lcom/sun/codemodel/internal/JFormatter;
    MethodParameters:
      Name  Flags
      f     

  public com.sun.codemodel.internal.JType erasure();
    descriptor: ()Lcom/sun/codemodel/internal/JType;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.sun.codemodel.internal.JClass.erasure:()Lcom/sun/codemodel/internal/JClass;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JClass.java"