final class com.sun.codemodel.internal.JCodeModel$TypeNameParser
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.codemodel.internal.JCodeModel$TypeNameParser
super_class: java.lang.Object
{
private final java.lang.String s;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int idx;
descriptor: I
flags: (0x0002) ACC_PRIVATE
final com.sun.codemodel.internal.JCodeModel this$0;
descriptor: Lcom/sun/codemodel/internal/JCodeModel;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.sun.codemodel.internal.JCodeModel, java.lang.String);
descriptor: (Lcom/sun/codemodel/internal/JCodeModel;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.this$0:Lcom/sun/codemodel/internal/JCodeModel;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/codemodel/internal/JCodeModel$TypeNameParser;
0 3 2 s Ljava/lang/String;
MethodParameters:
Name Flags
this$0 final
s
com.sun.codemodel.internal.JClass parseTypeName();
descriptor: ()Lcom/sun/codemodel/internal/JClass;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
istore 1
start local 1 1: aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
invokevirtual java.lang.String.charAt:(I)C
bipush 63
if_icmpne 17
2: aload 0
dup
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
iconst_1
iadd
putfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
3: aload 0
invokevirtual com.sun.codemodel.internal.JCodeModel$TypeNameParser.ws:()V
4: aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
start local 2 5: aload 2
ldc "extends"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 9
6: aload 0
dup
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
bipush 7
iadd
putfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
7: aload 0
invokevirtual com.sun.codemodel.internal.JCodeModel$TypeNameParser.ws:()V
8: aload 0
invokevirtual com.sun.codemodel.internal.JCodeModel$TypeNameParser.parseTypeName:()Lcom/sun/codemodel/internal/JClass;
invokevirtual com.sun.codemodel.internal.JClass.wildcard:()Lcom/sun/codemodel/internal/JClass;
areturn
9: StackMap locals: int java.lang.String
StackMap stack:
aload 2
ldc "super"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
10: new java.lang.UnsupportedOperationException
dup
ldc "? super T not implemented"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "only extends/super can follow ?, but found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
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
end local 2 12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
invokevirtual java.lang.String.charAt:(I)C
istore 2
start local 2 13: iload 2
invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
ifne 16
14: iload 2
invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
ifne 16
15: iload 2
bipush 46
if_icmpne 18
16: StackMap locals: int
StackMap stack:
aload 0
dup
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
iconst_1
iadd
putfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
end local 2 17: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 12
18: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.this$0:Lcom/sun/codemodel/internal/JCodeModel;
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
iload 1
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual com.sun.codemodel.internal.JCodeModel.ref:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JClass;
astore 2
start local 2 19: aload 0
aload 2
invokevirtual com.sun.codemodel.internal.JCodeModel$TypeNameParser.parseSuffix:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/codemodel/internal/JCodeModel$TypeNameParser;
1 20 1 start I
5 12 2 head Ljava/lang/String;
13 17 2 ch C
19 20 2 clazz Lcom/sun/codemodel/internal/JClass;
Exceptions:
throws java.lang.ClassNotFoundException
private com.sun.codemodel.internal.JClass parseSuffix(com.sun.codemodel.internal.JClass);
descriptor: (Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpne 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
invokevirtual java.lang.String.charAt:(I)C
istore 2
start local 2 3: iload 2
bipush 60
if_icmpne 5
4: aload 0
aload 0
aload 1
invokevirtual com.sun.codemodel.internal.JCodeModel$TypeNameParser.parseArguments:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
invokevirtual com.sun.codemodel.internal.JCodeModel$TypeNameParser.parseSuffix:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
areturn
5: StackMap locals: int
StackMap stack:
iload 2
bipush 91
if_icmpne 10
6: aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 93
if_icmpne 9
7: aload 0
dup
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
iconst_2
iadd
putfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
8: aload 0
aload 1
invokevirtual com.sun.codemodel.internal.JClass.array:()Lcom/sun/codemodel/internal/JClass;
invokevirtual com.sun.codemodel.internal.JCodeModel$TypeNameParser.parseSuffix:(Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
areturn
9: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Expected ']' but found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
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
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/codemodel/internal/JCodeModel$TypeNameParser;
0 11 1 clazz Lcom/sun/codemodel/internal/JClass;
3 11 2 ch C
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
clazz
private void ws();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
iconst_1
iadd
putfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 3
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmplt 1
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/codemodel/internal/JCodeModel$TypeNameParser;
private com.sun.codemodel.internal.JClass parseArguments(com.sun.codemodel.internal.JClass);
descriptor: (Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
invokevirtual java.lang.String.charAt:(I)C
bipush 60
if_icmpeq 2
1: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
iconst_1
iadd
putfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 4: StackMap locals: java.util.List
StackMap stack:
aload 2
aload 0
invokevirtual com.sun.codemodel.internal.JCodeModel$TypeNameParser.parseTypeName:()Lcom/sun/codemodel/internal/JClass;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
if_icmpne 7
6: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Missing '>' in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
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
7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
invokevirtual java.lang.String.charAt:(I)C
istore 3
start local 3 8: iload 3
bipush 62
if_icmpne 10
9: aload 1
aload 2
aload 2
invokeinterface java.util.List.size:()I
anewarray com.sun.codemodel.internal.JClass
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.sun.codemodel.internal.JClass[]
invokevirtual com.sun.codemodel.internal.JClass.narrow:([Lcom/sun/codemodel/internal/JClass;)Lcom/sun/codemodel/internal/JClass;
areturn
10: StackMap locals: int
StackMap stack:
iload 3
bipush 44
if_icmpeq 12
11: new java.lang.IllegalArgumentException
dup
aload 0
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.s:Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
iconst_1
iadd
putfield com.sun.codemodel.internal.JCodeModel$TypeNameParser.idx:I
end local 3 13: goto 4
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/codemodel/internal/JCodeModel$TypeNameParser;
0 14 1 rawType Lcom/sun/codemodel/internal/JClass;
4 14 2 args Ljava/util/List<Lcom/sun/codemodel/internal/JClass;>;
8 13 3 ch C
Exceptions:
throws java.lang.ClassNotFoundException
MethodParameters:
Name Flags
rawType
}
SourceFile: "JCodeModel.java"
NestHost: com.sun.codemodel.internal.JCodeModel
InnerClasses:
private final TypeNameParser = com.sun.codemodel.internal.JCodeModel$TypeNameParser of com.sun.codemodel.internal.JCodeModel