final class com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData
super_class: java.lang.Object
{
public final com.oracle.graal.python.annotations.ArgumentClinic annotation;
descriptor: Lcom/oracle/graal/python/annotations/ArgumentClinic;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final int index;
descriptor: I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final java.util.Set<com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType> acceptedPrimitiveTypes;
descriptor: Ljava/util/Set;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/Set<Lcom/oracle/graal/python/annotations/ArgumentClinic$PrimitiveType;>;
public final java.lang.String castNodeFactory;
descriptor: Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final java.util.Set<java.lang.String> imports;
descriptor: Ljava/util/Set;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private static volatile int[] $SWITCH_TABLE$com$oracle$graal$python$processor$ConverterFactory$Param;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private void <init>(com.oracle.graal.python.annotations.ArgumentClinic, int, java.util.Set<com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType>, java.lang.String, java.util.Set<java.lang.String>);
descriptor: (Lcom/oracle/graal/python/annotations/ArgumentClinic;ILjava/util/Set;Ljava/lang/String;Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.annotation:Lcom/oracle/graal/python/annotations/ArgumentClinic;
2: aload 0
iload 2
putfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.index:I
3: aload 0
aload 3
putfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.acceptedPrimitiveTypes:Ljava/util/Set;
4: aload 0
aload 4
putfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.castNodeFactory:Ljava/lang/String;
5: aload 0
aload 5
putfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.imports:Ljava/util/Set;
6: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;
0 7 1 annotation Lcom/oracle/graal/python/annotations/ArgumentClinic;
0 7 2 index I
0 7 3 acceptedPrimitiveTypes Ljava/util/Set<Lcom/oracle/graal/python/annotations/ArgumentClinic$PrimitiveType;>;
0 7 4 castNodeFactory Ljava/lang/String;
0 7 5 imports Ljava/util/Set<Ljava/lang/String;>;
Signature: (Lcom/oracle/graal/python/annotations/ArgumentClinic;ILjava/util/Set<Lcom/oracle/graal/python/annotations/ArgumentClinic$PrimitiveType;>;Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
annotation
index
acceptedPrimitiveTypes
castNodeFactory
imports
private static com.oracle.graal.python.processor.ConverterFactory getFactory(com.oracle.graal.python.annotations.ArgumentClinic, javax.lang.model.element.TypeElement, com.oracle.graal.python.processor.ConverterFactory);
descriptor: (Lcom/oracle/graal/python/annotations/ArgumentClinic;Ljavax/lang/model/element/TypeElement;Lcom/oracle/graal/python/processor/ConverterFactory;)Lcom/oracle/graal/python/processor/ConverterFactory;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
aload 0
invokeinterface com.oracle.graal.python.annotations.ArgumentClinic.args:()[Ljava/lang/String;
arraylength
ifeq 2
1: new com.oracle.graal.python.processor.ProcessingError
dup
aload 1
ldc "No conversionClass specified but arguments were provided"
iconst_0
anewarray java.lang.Object
invokespecial com.oracle.graal.python.processor.ProcessingError.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
ifnull 4
3: aload 2
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokeinterface com.oracle.graal.python.annotations.ArgumentClinic.conversion:()Lcom/oracle/graal/python/annotations/ArgumentClinic$ClinicConversion;
getstatic com.oracle.graal.python.annotations.ArgumentClinic$ClinicConversion.None:Lcom/oracle/graal/python/annotations/ArgumentClinic$ClinicConversion;
if_acmpne 6
aload 0
invokeinterface com.oracle.graal.python.annotations.ArgumentClinic.defaultValue:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifeq 6
5: new com.oracle.graal.python.processor.ProcessingError
dup
aload 1
ldc "ArgumentClinic annotation must declare either builtin conversion or custom conversion."
iconst_0
anewarray java.lang.Object
invokespecial com.oracle.graal.python.processor.ProcessingError.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.graal.python.processor.ConverterFactory.getBuiltin:(Lcom/oracle/graal/python/annotations/ArgumentClinic;)Lcom/oracle/graal/python/processor/ConverterFactory;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 annotation Lcom/oracle/graal/python/annotations/ArgumentClinic;
0 7 1 type Ljavax/lang/model/element/TypeElement;
0 7 2 factory Lcom/oracle/graal/python/processor/ConverterFactory;
Exceptions:
throws com.oracle.graal.python.processor.ProcessingError
MethodParameters:
Name Flags
annotation
type
factory
public static com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData create(com.oracle.graal.python.annotations.ArgumentClinic, javax.lang.model.element.TypeElement, com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation, int, com.oracle.graal.python.processor.ConverterFactory);
descriptor: (Lcom/oracle/graal/python/annotations/ArgumentClinic;Ljavax/lang/model/element/TypeElement;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;ILcom/oracle/graal/python/processor/ConverterFactory;)Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ifnonnull 2
1: new com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData
dup
aconst_null
iload 3
new java.util.HashSet
dup
invokestatic com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType.values:()[Lcom/oracle/graal/python/annotations/ArgumentClinic$PrimitiveType;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
aconst_null
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
invokespecial com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.<init>:(Lcom/oracle/graal/python/annotations/ArgumentClinic;ILjava/util/Set;Ljava/lang/String;Ljava/util/Set;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokestatic com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.getFactory:(Lcom/oracle/graal/python/annotations/ArgumentClinic;Ljavax/lang/model/element/TypeElement;Lcom/oracle/graal/python/processor/ConverterFactory;)Lcom/oracle/graal/python/processor/ConverterFactory;
astore 5
start local 5 3: aload 0
invokeinterface com.oracle.graal.python.annotations.ArgumentClinic.args:()[Ljava/lang/String;
arraylength
aload 5
getfield com.oracle.graal.python.processor.ConverterFactory.extraParamCount:I
if_icmpeq 5
4: new com.oracle.graal.python.processor.ProcessingError
dup
aload 1
ldc "Conversion %s.%s expects %d arguments"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 5
getfield com.oracle.graal.python.processor.ConverterFactory.fullClassName:Ljava/lang/String;
aastore
dup
iconst_1
aload 5
getfield com.oracle.graal.python.processor.ConverterFactory.methodName:Ljava/lang/String;
aastore
dup
iconst_2
aload 5
getfield com.oracle.graal.python.processor.ConverterFactory.extraParamCount:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokespecial com.oracle.graal.python.processor.ProcessingError.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
athrow
5: StackMap locals: com.oracle.graal.python.processor.ConverterFactory
StackMap stack:
aload 5
getfield com.oracle.graal.python.processor.ConverterFactory.params:[Lcom/oracle/graal/python/processor/ConverterFactory$Param;
arraylength
anewarray java.lang.String
astore 6
start local 6 6: iconst_0
istore 7
start local 7 7: iconst_0
istore 8
start local 8 8: goto 24
9: StackMap locals: java.lang.String[] int int
StackMap stack:
invokestatic com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.$SWITCH_TABLE$com$oracle$graal$python$processor$ConverterFactory$Param:()[I
aload 5
getfield com.oracle.graal.python.processor.ConverterFactory.params:[Lcom/oracle/graal/python/processor/ConverterFactory$Param;
iload 8
aaload
invokevirtual com.oracle.graal.python.processor.ConverterFactory$Param.ordinal:()I
iaload
tableswitch { // 1 - 6
1: 16
2: 18
3: 10
4: 12
5: 14
6: 20
default: 22
}
10: StackMap locals:
StackMap stack:
aload 6
iload 8
ldc "\"%s\""
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
getfield com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation.name:Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aastore
11: goto 23
12: StackMap locals:
StackMap stack:
aload 6
iload 8
iload 3
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
aastore
13: goto 23
14: StackMap locals:
StackMap stack:
aload 6
iload 8
ldc "\"%s\""
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
getfield com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation.argumentNames:[Ljava/lang/String;
iload 3
aaload
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aastore
15: goto 23
16: StackMap locals:
StackMap stack:
aload 6
iload 8
aload 0
invokeinterface com.oracle.graal.python.annotations.ArgumentClinic.defaultValue:()Ljava/lang/String;
aastore
17: goto 23
18: StackMap locals:
StackMap stack:
aload 6
iload 8
aload 0
invokeinterface com.oracle.graal.python.annotations.ArgumentClinic.useDefaultForNone:()Z
invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
aastore
19: goto 23
20: StackMap locals:
StackMap stack:
aload 6
iload 8
aload 0
invokeinterface com.oracle.graal.python.annotations.ArgumentClinic.args:()[Ljava/lang/String;
iload 7
iinc 7 1
aaload
aastore
21: goto 23
22: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported ClinicArgument: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
getfield com.oracle.graal.python.processor.ConverterFactory.params:[Lcom/oracle/graal/python/processor/ConverterFactory$Param;
iload 8
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
24: iload 8
aload 6
arraylength
if_icmplt 9
end local 8 25: ldc "%s.%s(%s)"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 5
getfield com.oracle.graal.python.processor.ConverterFactory.className:Ljava/lang/String;
aastore
dup
iconst_1
aload 5
getfield com.oracle.graal.python.processor.ConverterFactory.methodName:Ljava/lang/String;
aastore
dup
iconst_2
ldc ", "
aload 6
invokestatic java.lang.String.join:(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 8
start local 8 26: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 9
start local 9 27: aload 9
aload 5
getfield com.oracle.graal.python.processor.ConverterFactory.fullClassName:Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
28: aload 0
invokeinterface com.oracle.graal.python.annotations.ArgumentClinic.defaultValue:()Ljava/lang/String;
ldc "PNone."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 30
29: aload 9
ldc "com.oracle.graal.python.builtins.objects.PNone"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
30: StackMap locals: com.oracle.graal.python.annotations.ArgumentClinic javax.lang.model.element.TypeElement com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation int com.oracle.graal.python.processor.ConverterFactory com.oracle.graal.python.processor.ConverterFactory java.lang.String[] int java.lang.String java.util.Set
StackMap stack:
new com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData
dup
aload 0
iload 3
new java.util.HashSet
dup
aload 5
getfield com.oracle.graal.python.processor.ConverterFactory.acceptedPrimitiveTypes:[Lcom/oracle/graal/python/annotations/ArgumentClinic$PrimitiveType;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
aload 8
aload 9
invokespecial com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.<init>:(Lcom/oracle/graal/python/annotations/ArgumentClinic;ILjava/util/Set;Ljava/lang/String;Ljava/util/Set;)V
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 annotation Lcom/oracle/graal/python/annotations/ArgumentClinic;
0 31 1 type Ljavax/lang/model/element/TypeElement;
0 31 2 builtinAnnotation Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;
0 31 3 index I
0 31 4 annotationFactory Lcom/oracle/graal/python/processor/ConverterFactory;
3 31 5 factory Lcom/oracle/graal/python/processor/ConverterFactory;
6 31 6 args [Ljava/lang/String;
7 31 7 extraParamIndex I
8 25 8 i I
26 31 8 castNodeFactory Ljava/lang/String;
27 31 9 imports Ljava/util/Set<Ljava/lang/String;>;
Exceptions:
throws com.oracle.graal.python.processor.ProcessingError
MethodParameters:
Name Flags
annotation
type
builtinAnnotation
index
annotationFactory
static int[] $SWITCH_TABLE$com$oracle$graal$python$processor$ConverterFactory$Param();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.$SWITCH_TABLE$com$oracle$graal$python$processor$ConverterFactory$Param:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.graal.python.processor.ConverterFactory$Param.values:()[Lcom/oracle/graal/python/processor/ConverterFactory$Param;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.graal.python.processor.ConverterFactory$Param.ArgumentIndex:Lcom/oracle/graal/python/processor/ConverterFactory$Param;
invokevirtual com.oracle.graal.python.processor.ConverterFactory$Param.ordinal:()I
iconst_4
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.graal.python.processor.ConverterFactory$Param.ArgumentName:Lcom/oracle/graal/python/processor/ConverterFactory$Param;
invokevirtual com.oracle.graal.python.processor.ConverterFactory$Param.ordinal:()I
iconst_5
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.graal.python.processor.ConverterFactory$Param.BuiltinName:Lcom/oracle/graal/python/processor/ConverterFactory$Param;
invokevirtual com.oracle.graal.python.processor.ConverterFactory$Param.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.graal.python.processor.ConverterFactory$Param.DefaultValue:Lcom/oracle/graal/python/processor/ConverterFactory$Param;
invokevirtual com.oracle.graal.python.processor.ConverterFactory$Param.ordinal:()I
iconst_1
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.graal.python.processor.ConverterFactory$Param.Extra:Lcom/oracle/graal/python/processor/ConverterFactory$Param;
invokevirtual com.oracle.graal.python.processor.ConverterFactory$Param.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.oracle.graal.python.processor.ConverterFactory$Param.UseDefaultForNone:Lcom/oracle/graal/python/processor/ConverterFactory$Param;
invokevirtual com.oracle.graal.python.processor.ConverterFactory$Param.ordinal:()I
iconst_2
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
dup
putstatic com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.$SWITCH_TABLE$com$oracle$graal$python$processor$ConverterFactory$Param:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
}
SourceFile: "ArgumentClinicModel.java"
NestHost: com.oracle.graal.python.processor.ArgumentClinicModel
InnerClasses:
public final ClinicConversion = com.oracle.graal.python.annotations.ArgumentClinic$ClinicConversion of com.oracle.graal.python.annotations.ArgumentClinic
public final PrimitiveType = com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType of com.oracle.graal.python.annotations.ArgumentClinic
final ArgumentClinicData = com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData of com.oracle.graal.python.processor.ArgumentClinicModel
public final BuiltinAnnotation = com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation of com.oracle.graal.python.processor.ArgumentClinicModel
public final Param = com.oracle.graal.python.processor.ConverterFactory$Param of com.oracle.graal.python.processor.ConverterFactory