public class sun.rmi.rmic.iiop.SpecialClassType extends sun.rmi.rmic.iiop.ClassType
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.rmi.rmic.iiop.SpecialClassType
  super_class: sun.rmi.rmic.iiop.ClassType
{
  public static sun.rmi.rmic.iiop.SpecialClassType forSpecial(sun.tools.java.ClassDefinition, sun.rmi.rmic.iiop.ContextStack);
    descriptor: (Lsun/tools/java/ClassDefinition;Lsun/rmi/rmic/iiop/ContextStack;)Lsun/rmi/rmic/iiop/SpecialClassType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // sun.tools.java.ClassDefinition theClass
        start local 1 // sun.rmi.rmic.iiop.ContextStack stack
         0: .line 68
            aload 1 /* stack */
            invokevirtual sun.rmi.rmic.iiop.ContextStack.anyErrors:()Z
            ifeq 1
            aconst_null
            areturn
         1: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* theClass */
            invokevirtual sun.tools.java.ClassDefinition.getType:()Lsun/tools/java/Type;
            astore 2 /* type */
        start local 2 // sun.tools.java.Type type
         2: .line 74
            new java.lang.StringBuilder
            dup
            aload 2 /* type */
            invokevirtual sun.tools.java.Type.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stack */
            invokevirtual sun.rmi.rmic.iiop.ContextStack.getContextCodeString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* typeKey */
        start local 3 // java.lang.String typeKey
         3: .line 76
            aload 3 /* typeKey */
            aload 1 /* stack */
            invokestatic sun.rmi.rmic.iiop.SpecialClassType.getType:(Ljava/lang/String;Lsun/rmi/rmic/iiop/ContextStack;)Lsun/rmi/rmic/iiop/Type;
            astore 4 /* existing */
        start local 4 // sun.rmi.rmic.iiop.Type existing
         4: .line 78
            aload 4 /* existing */
            ifnull 7
         5: .line 80
            aload 4 /* existing */
            instanceof sun.rmi.rmic.iiop.SpecialClassType
            ifne 6
            aconst_null
            areturn
         6: .line 84
      StackMap locals: sun.tools.java.Type java.lang.String sun.rmi.rmic.iiop.Type
      StackMap stack:
            aload 4 /* existing */
            checkcast sun.rmi.rmic.iiop.SpecialClassType
            areturn
         7: .line 89
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            aload 0 /* theClass */
            aload 1 /* stack */
            invokestatic sun.rmi.rmic.iiop.SpecialClassType.getTypeCode:(Lsun/tools/java/Type;Lsun/tools/java/ClassDefinition;Lsun/rmi/rmic/iiop/ContextStack;)I
            istore 5 /* typeCode */
        start local 5 // int typeCode
         8: .line 91
            iload 5 /* typeCode */
            ifeq 14
         9: .line 95
            new sun.rmi.rmic.iiop.SpecialClassType
            dup
            aload 1 /* stack */
            iload 5 /* typeCode */
            aload 0 /* theClass */
            invokespecial sun.rmi.rmic.iiop.SpecialClassType.<init>:(Lsun/rmi/rmic/iiop/ContextStack;ILsun/tools/java/ClassDefinition;)V
            astore 6 /* result */
        start local 6 // sun.rmi.rmic.iiop.SpecialClassType result
        10: .line 96
            aload 3 /* typeKey */
            aload 6 /* result */
            aload 1 /* stack */
            invokestatic sun.rmi.rmic.iiop.SpecialClassType.putType:(Ljava/lang/String;Lsun/rmi/rmic/iiop/Type;Lsun/rmi/rmic/iiop/ContextStack;)V
        11: .line 97
            aload 1 /* stack */
            aload 6 /* result */
            invokevirtual sun.rmi.rmic.iiop.ContextStack.push:(Lsun/rmi/rmic/iiop/ContextElement;)Lsun/rmi/rmic/iiop/TypeContext;
            pop
        12: .line 98
            aload 1 /* stack */
            iconst_1
            invokevirtual sun.rmi.rmic.iiop.ContextStack.pop:(Z)Lsun/rmi/rmic/iiop/TypeContext;
            pop
        13: .line 99
            aload 6 /* result */
            areturn
        end local 6 // sun.rmi.rmic.iiop.SpecialClassType result
        14: .line 103
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
        end local 5 // int typeCode
        end local 4 // sun.rmi.rmic.iiop.Type existing
        end local 3 // java.lang.String typeKey
        end local 2 // sun.tools.java.Type type
        end local 1 // sun.rmi.rmic.iiop.ContextStack stack
        end local 0 // sun.tools.java.ClassDefinition theClass
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0  theClass  Lsun/tools/java/ClassDefinition;
            0   15     1     stack  Lsun/rmi/rmic/iiop/ContextStack;
            2   15     2      type  Lsun/tools/java/Type;
            3   15     3   typeKey  Ljava/lang/String;
            4   15     4  existing  Lsun/rmi/rmic/iiop/Type;
            8   15     5  typeCode  I
           10   14     6    result  Lsun/rmi/rmic/iiop/SpecialClassType;
    MethodParameters:
          Name  Flags
      theClass  
      stack     

  public java.lang.String getTypeDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.rmi.rmic.iiop.SpecialClassType this
         0: .line 111
            ldc "Special class"
            areturn
        end local 0 // sun.rmi.rmic.iiop.SpecialClassType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/rmi/rmic/iiop/SpecialClassType;

  private void <init>(sun.rmi.rmic.iiop.ContextStack, int, sun.tools.java.ClassDefinition);
    descriptor: (Lsun/rmi/rmic/iiop/ContextStack;ILsun/tools/java/ClassDefinition;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // sun.rmi.rmic.iiop.SpecialClassType this
        start local 1 // sun.rmi.rmic.iiop.ContextStack stack
        start local 2 // int typeCode
        start local 3 // sun.tools.java.ClassDefinition theClass
         0: .line 123
            aload 0 /* this */
            aload 1 /* stack */
            iload 2 /* typeCode */
            ldc 268435456
            ior
            ldc 67108864
            ior
            ldc 33554432
            ior
            aload 3 /* theClass */
            invokespecial sun.rmi.rmic.iiop.ClassType.<init>:(Lsun/rmi/rmic/iiop/ContextStack;ILsun/tools/java/ClassDefinition;)V
         1: .line 124
            aload 3 /* theClass */
            invokevirtual sun.tools.java.ClassDefinition.getName:()Lsun/tools/java/Identifier;
            astore 4 /* id */
        start local 4 // sun.tools.java.Identifier id
         2: .line 125
            aconst_null
            astore 5 /* idlName */
        start local 5 // java.lang.String idlName
         3: .line 126
            aconst_null
            astore 6 /* idlModuleName */
        start local 6 // java.lang.String[] idlModuleName
         4: .line 127
            aload 1 /* stack */
            invokevirtual sun.rmi.rmic.iiop.ContextStack.size:()I
            ifle 5
            aload 1 /* stack */
            invokevirtual sun.rmi.rmic.iiop.ContextStack.getContext:()Lsun/rmi/rmic/iiop/TypeContext;
            invokevirtual sun.rmi.rmic.iiop.TypeContext.isConstant:()Z
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: sun.rmi.rmic.iiop.SpecialClassType sun.rmi.rmic.iiop.ContextStack int sun.tools.java.ClassDefinition sun.tools.java.Identifier java.lang.String java.lang.String[]
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 7 /* constant */
        start local 7 // boolean constant
         7: .line 131
            iload 2 /* typeCode */
            lookupswitch { // 2
                  512: 8
                 1024: 12
              default: 14
          }
         8: .line 133
      StackMap locals: int
      StackMap stack:
            iload 2 /* typeCode */
            iload 7 /* constant */
            invokestatic sun.rmi.rmic.iiop.IDLNames.getTypeName:(IZ)Ljava/lang/String;
            astore 5 /* idlName */
         9: .line 134
            iload 7 /* constant */
            ifne 14
        10: .line 135
            getstatic sun.rmi.rmic.iiop.SpecialClassType.IDL_CORBA_MODULE:[Ljava/lang/String;
            astore 6 /* idlModuleName */
        11: .line 137
            goto 14
        12: .line 141
      StackMap locals:
      StackMap stack:
            ldc "_Object"
            astore 5 /* idlName */
        13: .line 142
            getstatic sun.rmi.rmic.iiop.SpecialClassType.IDL_JAVA_LANG_MODULE:[Ljava/lang/String;
            astore 6 /* idlModuleName */
        14: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* id */
            aload 6 /* idlModuleName */
            aload 5 /* idlName */
            invokevirtual sun.rmi.rmic.iiop.SpecialClassType.setNames:(Lsun/tools/java/Identifier;[Ljava/lang/String;Ljava/lang/String;)V
        15: .line 151
            aload 0 /* this */
            aload 1 /* stack */
            invokevirtual sun.rmi.rmic.iiop.SpecialClassType.initParents:(Lsun/rmi/rmic/iiop/ContextStack;)Z
            ifne 17
        16: .line 155
            new sun.tools.java.CompilerError
            dup
            ldc "SpecialClassType found invalid parent."
            invokespecial sun.tools.java.CompilerError.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aconst_null
            aconst_null
            aload 1 /* stack */
            iconst_0
            invokevirtual sun.rmi.rmic.iiop.SpecialClassType.initialize:(Ljava/util/Vector;Ljava/util/Vector;Ljava/util/Vector;Lsun/rmi/rmic/iiop/ContextStack;Z)Z
            pop
        18: .line 161
            return
        end local 7 // boolean constant
        end local 6 // java.lang.String[] idlModuleName
        end local 5 // java.lang.String idlName
        end local 4 // sun.tools.java.Identifier id
        end local 3 // sun.tools.java.ClassDefinition theClass
        end local 2 // int typeCode
        end local 1 // sun.rmi.rmic.iiop.ContextStack stack
        end local 0 // sun.rmi.rmic.iiop.SpecialClassType this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lsun/rmi/rmic/iiop/SpecialClassType;
            0   19     1          stack  Lsun/rmi/rmic/iiop/ContextStack;
            0   19     2       typeCode  I
            0   19     3       theClass  Lsun/tools/java/ClassDefinition;
            2   19     4             id  Lsun/tools/java/Identifier;
            3   19     5        idlName  Ljava/lang/String;
            4   19     6  idlModuleName  [Ljava/lang/String;
            7   19     7       constant  Z
    MethodParameters:
          Name  Flags
      stack     
      typeCode  
      theClass  

  private static int getTypeCode(sun.tools.java.Type, sun.tools.java.ClassDefinition, sun.rmi.rmic.iiop.ContextStack);
    descriptor: (Lsun/tools/java/Type;Lsun/tools/java/ClassDefinition;Lsun/rmi/rmic/iiop/ContextStack;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // sun.tools.java.Type type
        start local 1 // sun.tools.java.ClassDefinition theClass
        start local 2 // sun.rmi.rmic.iiop.ContextStack stack
         0: .line 164
            aload 0 /* type */
            bipush 10
            invokevirtual sun.tools.java.Type.isType:(I)Z
            ifeq 4
         1: .line 165
            aload 0 /* type */
            invokevirtual sun.tools.java.Type.getClassName:()Lsun/tools/java/Identifier;
            astore 3 /* id */
        start local 3 // sun.tools.java.Identifier id
         2: .line 166
            aload 3 /* id */
            getstatic sun.rmi.rmic.iiop.SpecialClassType.idJavaLangString:Lsun/tools/java/Identifier;
            if_acmpne 3
            sipush 512
            ireturn
         3: .line 167
      StackMap locals: sun.tools.java.Identifier
      StackMap stack:
            aload 3 /* id */
            getstatic sun.rmi.rmic.iiop.SpecialClassType.idJavaLangObject:Lsun/tools/java/Identifier;
            if_acmpne 4
            sipush 1024
            ireturn
        end local 3 // sun.tools.java.Identifier id
         4: .line 169
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // sun.rmi.rmic.iiop.ContextStack stack
        end local 1 // sun.tools.java.ClassDefinition theClass
        end local 0 // sun.tools.java.Type type
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      type  Lsun/tools/java/Type;
            0    5     1  theClass  Lsun/tools/java/ClassDefinition;
            0    5     2     stack  Lsun/rmi/rmic/iiop/ContextStack;
            2    4     3        id  Lsun/tools/java/Identifier;
    MethodParameters:
          Name  Flags
      type      
      theClass  
      stack     
}
SourceFile: "SpecialClassType.java"