public class com.oracle.graal.python.processor.ArgumentClinicProcessor extends javax.annotation.processing.AbstractProcessor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.graal.python.processor.ArgumentClinicProcessor
super_class: javax.annotation.processing.AbstractProcessor
{
private static final boolean LOGGING;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final java.lang.String BuiltinAnnotationClass;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.oracle.graal.python.builtins.Builtin"
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.graal.python.processor.ArgumentClinicProcessor.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.annotation.processing.AbstractProcessor.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
public java.util.Set<java.lang.String> getSupportedAnnotationTypes();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/graal/python/annotations/ArgumentClinic;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
2: aload 1
ldc Lcom/oracle/graal/python/annotations/ArgumentsClinic;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
3: aload 1
ldc Lcom/oracle/graal/python/annotations/ClinicConverterFactory;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
1 5 1 vals Ljava/util/HashSet<Ljava/lang/String;>;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
public javax.lang.model.SourceVersion getSupportedSourceVersion();
descriptor: ()Ljavax/lang/model/SourceVersion;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic javax.lang.model.SourceVersion.latestSupported:()Ljavax/lang/model/SourceVersion;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement>, javax.annotation.processing.RoundEnvironment);
descriptor: (Ljava/util/Set;Ljavax/annotation/processing/RoundEnvironment;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface javax.annotation.processing.RoundEnvironment.processingOver:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.processor.ArgumentClinicProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
invokestatic com.oracle.graal.python.processor.ConverterFactory.initBuiltins:(Ljavax/lang/model/util/Elements;)V
3: aload 0
aload 2
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.doProcess:(Ljavax/annotation/processing/RoundEnvironment;)V
4: goto 10
StackMap locals:
StackMap stack: java.io.IOException
5: astore 3
start local 3 6: aload 3
invokevirtual java.io.IOException.printStackTrace:()V
end local 3 7: goto 10
8: StackMap locals:
StackMap stack: com.oracle.graal.python.processor.ProcessingError
astore 3
start local 3 9: aload 0
getfield com.oracle.graal.python.processor.ArgumentClinicProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
aload 3
invokevirtual com.oracle.graal.python.processor.ProcessingError.getMessage:()Ljava/lang/String;
aload 3
invokevirtual com.oracle.graal.python.processor.ProcessingError.getElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
end local 3 10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
0 11 1 annotations Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
0 11 2 roundEnv Ljavax/annotation/processing/RoundEnvironment;
6 7 3 ex Ljava/io/IOException;
9 10 3 ex Lcom/oracle/graal/python/processor/ProcessingError;
Exception table:
from to target type
2 4 5 Class java.io.IOException
2 4 8 Class com.oracle.graal.python.processor.ProcessingError
Signature: (Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;Ljavax/annotation/processing/RoundEnvironment;)Z
MethodParameters:
Name Flags
annotations
roundEnv
private void doProcess(javax.annotation.processing.RoundEnvironment);
descriptor: (Ljavax/annotation/processing/RoundEnvironment;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "Running the ArgumentClinicProcessor"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.log:(Ljava/lang/String;[Ljava/lang/Object;)V
1: aload 0
aload 0
aload 1
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.collectEnclosingTypes:(Ljavax/annotation/processing/RoundEnvironment;)Ljava/util/HashMap;
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.writeCode:(Ljava/util/HashMap;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
0 3 1 roundEnv Ljavax/annotation/processing/RoundEnvironment;
Exceptions:
throws java.io.IOException, com.oracle.graal.python.processor.ProcessingError
MethodParameters:
Name Flags
roundEnv
private void writeCode(java.util.HashMap<javax.lang.model.element.TypeElement, java.util.Set<com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData>>);
descriptor: (Ljava/util/HashMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=16, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 35
StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 2: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast javax.lang.model.element.TypeElement
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.getPackage:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
astore 4
start local 4 3: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast javax.lang.model.element.TypeElement
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "ClinicProviders"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 4: new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 5: aload 0
ldc "Generating file '%s'"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.log:(Ljava/lang/String;[Ljava/lang/Object;)V
6: aload 0
getfield com.oracle.graal.python.processor.ArgumentClinicProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
aload 6
iconst_0
anewarray javax.lang.model.element.Element
invokeinterface javax.annotation.processing.Filer.createSourceFile:(Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/JavaFileObject;
astore 7
start local 7 7: aconst_null
astore 8
aconst_null
astore 9
8: new com.oracle.graal.python.processor.CodeWriter
dup
aload 7
invokeinterface javax.tools.JavaFileObject.openWriter:()Ljava/io/Writer;
invokespecial com.oracle.graal.python.processor.CodeWriter.<init>:(Ljava/io/Writer;)V
astore 10
start local 10 9: aload 10
ldc "// CheckStyle: start generated"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
10: aload 10
ldc "// Auto generated by ArgumentClinicProcessor at %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
invokestatic java.time.LocalDateTime.now:()Ljava/time/LocalDateTime;
aastore
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
11: aload 10
ldc "package %s;"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
12: aload 10
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
13: aload 0
aload 10
aload 2
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.writeImports:(Lcom/oracle/graal/python/processor/CodeWriter;Ljava/util/Map$Entry;)V
14: aload 10
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
15: aload 10
ldc "public class %s {"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
16: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Set
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 27
StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String java.lang.String javax.tools.JavaFileObject java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter top java.util.Iterator
StackMap stack:
17: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData
astore 11
start local 11 18: aconst_null
astore 13
aconst_null
astore 14
19: aload 10
invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
astore 15
start local 15 20: aload 0
aload 10
aload 11
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.writeClinicNode:(Lcom/oracle/graal/python/processor/CodeWriter;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;)V
21: aload 15
ifnull 27
aload 15
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
goto 27
StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String java.lang.String javax.tools.JavaFileObject java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData java.util.Iterator java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block
StackMap stack: java.lang.Throwable
22: astore 13
aload 15
ifnull 23
aload 15
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
end local 15 StackMap locals:
StackMap stack:
23: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 14
aload 13
ifnonnull 25
aload 14
astore 13
goto 26
StackMap locals:
StackMap stack:
25: aload 13
aload 14
if_acmpeq 26
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 13
athrow
end local 11 27: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String java.lang.String javax.tools.JavaFileObject java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
28: aload 10
ldc "}"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
29: aload 10
ifnull 35
aload 10
invokevirtual com.oracle.graal.python.processor.CodeWriter.close:()V
goto 35
StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.String java.lang.String java.lang.String javax.tools.JavaFileObject java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter
StackMap stack: java.lang.Throwable
30: astore 8
aload 10
ifnull 31
aload 10
invokevirtual com.oracle.graal.python.processor.CodeWriter.close:()V
end local 10 StackMap locals:
StackMap stack:
31: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
32: astore 9
aload 8
ifnonnull 33
aload 9
astore 8
goto 34
StackMap locals:
StackMap stack:
33: aload 8
aload 9
if_acmpeq 34
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
34: aload 8
athrow
end local 7 end local 6 end local 5 end local 4 end local 2 35: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor java.util.HashMap top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
36: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
0 37 1 enclosingTypes Ljava/util/HashMap<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;
2 35 2 enclosingType Ljava/util/Map$Entry<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;
3 35 4 pkgName Ljava/lang/String;
4 35 5 className Ljava/lang/String;
5 35 6 sourceFile Ljava/lang/String;
7 35 7 file Ljavax/tools/JavaFileObject;
9 31 10 w Lcom/oracle/graal/python/processor/CodeWriter;
18 27 11 builtin Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
20 23 15 i Lcom/oracle/graal/python/processor/CodeWriter$Block;
Exception table:
from to target type
20 21 22 any
19 24 24 any
9 29 30 any
8 32 32 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/HashMap<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;)V
MethodParameters:
Name Flags
enclosingTypes
private void writeImports(com.oracle.graal.python.processor.CodeWriter, java.util.Map$Entry<javax.lang.model.element.TypeElement, java.util.Set<com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData>>);
descriptor: (Lcom/oracle/graal/python/processor/CodeWriter;Ljava/util/Map$Entry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "Writing imports..."
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.log:(Ljava/lang/String;[Ljava/lang/Object;)V
1: new java.util.TreeSet
dup
invokespecial java.util.TreeSet.<init>:()V
astore 3
start local 3 2: aload 3
ldc "com.oracle.graal.python.nodes.function.builtins.clinic.ArgumentClinicProvider"
invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
pop
3: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Set
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter java.util.Map$Entry java.util.TreeSet top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData
astore 4
start local 4 5: aload 4
getfield com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.arguments:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter java.util.Map$Entry java.util.TreeSet com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData java.util.Iterator top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData
astore 6
start local 6 7: aload 3
aload 6
getfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.imports:Ljava/util/Set;
invokevirtual java.util.TreeSet.addAll:(Ljava/util/Collection;)Z
pop
8: aload 6
getfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.castNodeFactory:Ljava/lang/String;
ifnull 11
9: aload 3
ldc "com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode"
invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
pop
10: aload 3
ldc "com.oracle.graal.python.nodes.function.builtins.clinic.ArgumentCastNode"
invokevirtual java.util.TreeSet.add:(Ljava/lang/Object;)Z
pop
end local 6 11: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 4 12: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter java.util.Map$Entry java.util.TreeSet top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
13: aload 3
invokevirtual java.util.TreeSet.iterator:()Ljava/util/Iterator;
astore 5
goto 16
StackMap locals:
StackMap stack:
14: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 15: aload 1
ldc "import %s;"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 4 16: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
0 18 1 w Lcom/oracle/graal/python/processor/CodeWriter;
0 18 2 enclosingType Ljava/util/Map$Entry<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;
2 18 3 imports Ljava/util/TreeSet<Ljava/lang/String;>;
5 12 4 builtin Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
7 11 6 arg Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;
15 16 4 pkg Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (Lcom/oracle/graal/python/processor/CodeWriter;Ljava/util/Map$Entry<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;)V
MethodParameters:
Name Flags
w
enclosingType
private void writeClinicNode(com.oracle.graal.python.processor.CodeWriter, com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData);
descriptor: (Lcom/oracle/graal/python/processor/CodeWriter;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=20, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.type:Ljavax/lang/model/element/TypeElement;
astore 3
start local 3 1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 3
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "ClinicProviderGen"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 2: aload 0
ldc "Writing clinic node %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.log:(Ljava/lang/String;[Ljava/lang/Object;)V
3: aload 1
ldc "public static final class %s extends ArgumentClinicProvider {"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
4: aconst_null
astore 5
aconst_null
astore 6
5: aload 1
invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
astore 7
start local 7 6: aload 1
ldc "public static final %s INSTANCE = new %s();"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
7: aload 1
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
8: aload 1
ldc "private %s() {"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
9: aload 1
ldc "}"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
10: invokestatic com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType.values:()[Lcom/oracle/graal/python/annotations/ArgumentClinic$PrimitiveType;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 32
StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block top int int com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType[]
StackMap stack:
11: aload 11
iload 9
aaload
astore 8
start local 8 12: aload 2
aload 8
invokevirtual com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.getIndicesForPrimitiveTypeAccepts:(Lcom/oracle/graal/python/annotations/ArgumentClinic$PrimitiveType;)[I
astore 12
start local 12 13: aload 12
arraylength
ifne 15
14: goto 31
15: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType int int com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType[] int[]
StackMap stack:
aload 1
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
16: aload 1
ldc "@Override"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
17: aload 1
ldc "public boolean accepts%s(int argIndex) {"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
invokevirtual com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType.toString:()Ljava/lang/String;
aastore
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
18: aconst_null
astore 13
aconst_null
astore 14
19: aload 1
invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
astore 15
start local 15 20: aload 2
aload 12
invokevirtual com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.containsAllArguments:([I)Z
ifeq 23
21: aload 1
ldc "return true;"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
22: goto 24
23: StackMap locals: java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block
StackMap stack:
aload 1
invokevirtual com.oracle.graal.python.processor.CodeWriter.startLn:()Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
ldc "return "
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.write:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
aload 12
ldc " || "
ldc "argIndex == %d"
invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.writeEach:([ILjava/lang/String;Ljava/lang/String;)Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
ldc ";"
invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.endLn:(Ljava/lang/String;)V
24: StackMap locals:
StackMap stack:
aload 15
ifnull 30
aload 15
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
goto 30
StackMap locals:
StackMap stack: java.lang.Throwable
25: astore 13
aload 15
ifnull 26
aload 15
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
end local 15 StackMap locals:
StackMap stack:
26: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
27: astore 14
aload 13
ifnonnull 28
aload 14
astore 13
goto 29
StackMap locals:
StackMap stack:
28: aload 13
aload 14
if_acmpeq 29
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
29: aload 13
athrow
30: StackMap locals:
StackMap stack:
aload 1
ldc "}"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 12 end local 8 31: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block top int int com.oracle.graal.python.annotations.ArgumentClinic$PrimitiveType[]
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
32: iload 9
iload 10
if_icmplt 11
33: aload 2
invokevirtual com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.getIndicesForHasCastNode:()[I
astore 8
start local 8 34: aload 8
arraylength
ifle 51
35: aload 1
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
36: aload 1
ldc "@Override"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
37: aload 1
ldc "public boolean hasCastNode(int argIndex) {"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
38: aconst_null
astore 9
aconst_null
astore 10
39: aload 1
invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
astore 11
start local 11 40: aload 2
aload 8
invokevirtual com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.containsAllArguments:([I)Z
ifeq 43
41: aload 1
ldc "return true;"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
42: goto 44
43: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block int[] java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block
StackMap stack:
aload 1
invokevirtual com.oracle.graal.python.processor.CodeWriter.startLn:()Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
ldc "return "
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.write:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
aload 8
ldc " || "
ldc "argIndex == %d"
invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.writeEach:([ILjava/lang/String;Ljava/lang/String;)Lcom/oracle/graal/python/processor/CodeWriter$LineBuilder;
ldc ";"
invokevirtual com.oracle.graal.python.processor.CodeWriter$LineBuilder.endLn:(Ljava/lang/String;)V
44: StackMap locals:
StackMap stack:
aload 11
ifnull 50
aload 11
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
goto 50
StackMap locals:
StackMap stack: java.lang.Throwable
45: astore 9
aload 11
ifnull 46
aload 11
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
end local 11 StackMap locals:
StackMap stack:
46: aload 9
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
47: astore 10
aload 9
ifnonnull 48
aload 10
astore 9
goto 49
StackMap locals:
StackMap stack:
48: aload 9
aload 10
if_acmpeq 49
aload 9
aload 10
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
49: aload 9
athrow
50: StackMap locals:
StackMap stack:
aload 1
ldc "}"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
51: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.getArgumentsWithCastNodeFactory:()[Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;
astore 9
start local 9 52: aload 9
arraylength
ifle 81
53: aload 1
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:()V
54: aload 1
ldc "@Override"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
55: aload 1
ldc "public ArgumentCastNode createCastNode(int argIndex, PythonBuiltinBaseNode builtin) {"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
56: aconst_null
astore 10
aconst_null
astore 11
57: aload 1
invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
astore 12
start local 12 58: aload 1
ldc "switch (argIndex) {"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
59: aconst_null
astore 13
aconst_null
astore 14
60: aload 1
invokevirtual com.oracle.graal.python.processor.CodeWriter.newIndent:()Lcom/oracle/graal/python/processor/CodeWriter$Block;
astore 15
start local 15 61: aload 9
dup
astore 19
arraylength
istore 18
iconst_0
istore 17
goto 65
StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block int[] com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData[] java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block top int int com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData[]
StackMap stack:
62: aload 19
iload 17
aaload
astore 16
start local 16 63: aload 1
ldc "case %d: return %s;"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 16
getfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.index:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 16
getfield com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.castNodeFactory:Ljava/lang/String;
aastore
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 16 64: iinc 17 1
StackMap locals:
StackMap stack:
65: iload 17
iload 18
if_icmplt 62
66: aload 1
ldc "default: throw new IllegalStateException(\"Unexpected argument index: \" + Integer.toString(argIndex));"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
67: aload 15
ifnull 73
aload 15
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
goto 73
StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor com.oracle.graal.python.processor.CodeWriter com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData javax.lang.model.element.TypeElement java.lang.String java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block int[] com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData[] java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block java.lang.Throwable java.lang.Throwable com.oracle.graal.python.processor.CodeWriter$Block
StackMap stack: java.lang.Throwable
68: astore 13
aload 15
ifnull 69
aload 15
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
end local 15 StackMap locals:
StackMap stack:
69: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
70: astore 14
aload 13
ifnonnull 71
aload 14
astore 13
goto 72
StackMap locals:
StackMap stack:
71: aload 13
aload 14
if_acmpeq 72
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
72: aload 13
athrow
73: StackMap locals:
StackMap stack:
aload 1
ldc "}"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
74: aload 12
ifnull 80
aload 12
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
goto 80
StackMap locals:
StackMap stack: java.lang.Throwable
75: astore 10
aload 12
ifnull 76
aload 12
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
end local 12 StackMap locals:
StackMap stack:
76: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
77: astore 11
aload 10
ifnonnull 78
aload 11
astore 10
goto 79
StackMap locals:
StackMap stack:
78: aload 10
aload 11
if_acmpeq 79
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
79: aload 10
athrow
80: StackMap locals:
StackMap stack:
aload 1
ldc "}"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 9 end local 8 81: StackMap locals:
StackMap stack:
aload 7
ifnull 87
aload 7
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
goto 87
StackMap locals:
StackMap stack: java.lang.Throwable
82: astore 5
aload 7
ifnull 83
aload 7
invokevirtual com.oracle.graal.python.processor.CodeWriter$Block.close:()V
end local 7 StackMap locals:
StackMap stack:
83: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
84: astore 6
aload 5
ifnonnull 85
aload 6
astore 5
goto 86
StackMap locals:
StackMap stack:
85: aload 5
aload 6
if_acmpeq 86
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
86: aload 5
athrow
87: StackMap locals:
StackMap stack:
aload 1
ldc "}"
iconst_0
anewarray java.lang.Object
invokevirtual com.oracle.graal.python.processor.CodeWriter.writeLn:(Ljava/lang/String;[Ljava/lang/Object;)V
88: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 89 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
0 89 1 w Lcom/oracle/graal/python/processor/CodeWriter;
0 89 2 builtin Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
1 89 3 type Ljavax/lang/model/element/TypeElement;
2 89 4 clinicClassName Ljava/lang/String;
6 83 7 i1 Lcom/oracle/graal/python/processor/CodeWriter$Block;
12 31 8 primitiveType Lcom/oracle/graal/python/annotations/ArgumentClinic$PrimitiveType;
13 31 12 argIndices [I
20 26 15 i2 Lcom/oracle/graal/python/processor/CodeWriter$Block;
34 81 8 hasCastNodeArgsIndices [I
40 46 11 i2 Lcom/oracle/graal/python/processor/CodeWriter$Block;
52 81 9 argsWithCastNodeFactory [Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;
58 76 12 i2 Lcom/oracle/graal/python/processor/CodeWriter$Block;
61 69 15 i3 Lcom/oracle/graal/python/processor/CodeWriter$Block;
63 64 16 arg Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;
Exception table:
from to target type
20 24 25 any
19 27 27 any
40 44 45 any
39 47 47 any
61 67 68 any
60 70 70 any
58 74 75 any
57 77 77 any
6 81 82 any
5 84 84 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
w
builtin
private java.util.HashMap<javax.lang.model.element.TypeElement, java.util.Set<com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData>> collectEnclosingTypes(javax.annotation.processing.RoundEnvironment);
descriptor: (Ljavax/annotation/processing/RoundEnvironment;)Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: new java.util.HashSet
dup
aload 1
ldc Lcom/oracle/graal/python/annotations/ArgumentsClinic;
invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljava/lang/Class;)Ljava/util/Set;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 2: aload 3
aload 1
ldc Lcom/oracle/graal/python/annotations/ArgumentClinic;
invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljava/lang/Class;)Ljava/util/Set;
invokevirtual java.util.HashSet.addAll:(Ljava/util/Collection;)Z
pop
3: aload 3
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 5
goto 14
StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.annotation.processing.RoundEnvironment java.util.HashMap java.util.HashSet top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 4
start local 4 5: aload 0
ldc "Checking type '%s'"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.log:(Ljava/lang/String;[Ljava/lang/Object;)V
6: aload 4
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
if_acmpeq 8
7: aload 4
ldc "ArgumentClinic annotation is applicable only to classes."
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.error:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/ProcessingError;
athrow
8: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.annotation.processing.RoundEnvironment java.util.HashMap java.util.HashSet javax.lang.model.element.Element java.util.Iterator
StackMap stack:
aload 4
checkcast javax.lang.model.element.TypeElement
astore 6
start local 6 9: aload 6
invokeinterface javax.lang.model.element.TypeElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
ifnonnull 11
10: aload 4
ldc "ArgumentClinicProcessor supports only inner classes at moment."
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.error:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/ProcessingError;
athrow
11: StackMap locals: javax.lang.model.element.TypeElement
StackMap stack:
aload 0
aload 6
aload 6
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.getBuiltinAnnotation:(Ljavax/lang/model/element/TypeElement;)Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.getBuiltinClinicData:(Ljavax/lang/model/element/TypeElement;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;)Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
astore 7
start local 7 12: aload 6
invokeinterface javax.lang.model.element.TypeElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 8
start local 8 13: aload 2
aload 8
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/graal/python/processor/ArgumentClinicProcessor.lambda$0(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set; (6)
(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
invokevirtual java.util.HashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.Set
aload 7
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 6 end local 4 14: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.annotation.processing.RoundEnvironment java.util.HashMap java.util.HashSet top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
15: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
0 16 1 roundEnv Ljavax/annotation/processing/RoundEnvironment;
1 16 2 enclosingTypes Ljava/util/HashMap<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;
2 16 3 elements Ljava/util/HashSet<Ljavax/lang/model/element/Element;>;
5 14 4 e Ljavax/lang/model/element/Element;
9 14 6 type Ljavax/lang/model/element/TypeElement;
12 14 7 builtinClinicData Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
13 14 8 enclosingType Ljavax/lang/model/element/TypeElement;
Exceptions:
throws com.oracle.graal.python.processor.ProcessingError
Signature: (Ljavax/annotation/processing/RoundEnvironment;)Ljava/util/HashMap<Ljavax/lang/model/element/TypeElement;Ljava/util/Set<Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;>;>;
MethodParameters:
Name Flags
roundEnv
private com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData getBuiltinClinicData(javax.lang.model.element.TypeElement, com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation);
descriptor: (Ljavax/lang/model/element/TypeElement;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;)Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinClinicData;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc Lcom/oracle/graal/python/annotations/ArgumentsClinic;
invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.oracle.graal.python.annotations.ArgumentsClinic
astore 4
start local 4 1: aload 4
ifnonnull 4
2: iconst_1
anewarray com.oracle.graal.python.annotations.ArgumentClinic
dup
iconst_0
aload 1
ldc Lcom/oracle/graal/python/annotations/ArgumentClinic;
invokeinterface javax.lang.model.element.TypeElement.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.oracle.graal.python.annotations.ArgumentClinic
aastore
astore 3
start local 3 3: goto 5
end local 3 4: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation top com.oracle.graal.python.annotations.ArgumentsClinic
StackMap stack:
aload 4
invokeinterface com.oracle.graal.python.annotations.ArgumentsClinic.value:()[Lcom/oracle/graal/python/annotations/ArgumentClinic;
astore 3
start local 3 5: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation com.oracle.graal.python.annotations.ArgumentClinic[] com.oracle.graal.python.annotations.ArgumentsClinic
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.graal.python.processor.ArgumentClinicProcessor.getConverterFactories:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Map;
astore 5
start local 5 6: aload 2
getfield com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation.argumentNames:[Ljava/lang/String;
astore 6
start local 6 7: new java.util.ArrayList
dup
aload 6
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 8: iconst_0
istore 8
start local 8 9: goto 14
10: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation com.oracle.graal.python.annotations.ArgumentClinic[] com.oracle.graal.python.annotations.ArgumentsClinic java.util.Map java.lang.String[] java.util.List int
StackMap stack:
aload 6
iload 8
aaload
astore 9
start local 9 11: aload 3
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
aload 9
invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/oracle/graal/python/processor/ArgumentClinicProcessor.lambda$1(Ljava/lang/String;Lcom/oracle/graal/python/annotations/ArgumentClinic;)Z (6)
(Lcom/oracle/graal/python/annotations/ArgumentClinic;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.graal.python.annotations.ArgumentClinic
astore 10
start local 10 12: aload 7
aload 10
aload 1
aload 2
iload 8
aload 5
aload 9
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.graal.python.processor.ConverterFactory
invokestatic com.oracle.graal.python.processor.ArgumentClinicModel$ArgumentClinicData.create:(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;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 13: iinc 8 1
StackMap locals:
StackMap stack:
14: iload 8
aload 6
arraylength
if_icmplt 10
end local 8 15: new com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData
dup
aload 1
aload 2
aload 7
invokespecial com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData.<init>:(Ljavax/lang/model/element/TypeElement;Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;Ljava/util/List;)V
areturn
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 16 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
0 16 1 type Ljavax/lang/model/element/TypeElement;
0 16 2 builtinAnnotation Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;
3 4 3 rawArgAnnotations [Lcom/oracle/graal/python/annotations/ArgumentClinic;
5 16 3 rawArgAnnotations [Lcom/oracle/graal/python/annotations/ArgumentClinic;
1 16 4 argsClinicAnnotation Lcom/oracle/graal/python/annotations/ArgumentsClinic;
6 16 5 converterFactories Ljava/util/Map<Ljava/lang/String;Lcom/oracle/graal/python/processor/ConverterFactory;>;
7 16 6 argNames [Ljava/lang/String;
8 16 7 arguments Ljava/util/List<Lcom/oracle/graal/python/processor/ArgumentClinicModel$ArgumentClinicData;>;
9 15 8 i I
11 13 9 name Ljava/lang/String;
12 13 10 clinicAnnotation Lcom/oracle/graal/python/annotations/ArgumentClinic;
Exceptions:
throws com.oracle.graal.python.processor.ProcessingError
MethodParameters:
Name Flags
type
builtinAnnotation
private java.util.Map<java.lang.String, com.oracle.graal.python.processor.ConverterFactory> getConverterFactories(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: aload 1
ldc Lcom/oracle/graal/python/annotations/ArgumentsClinic;
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.findAnnotationMirror:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationMirror;
astore 3
start local 3 1: aload 3
ifnull 4
2: aload 3
ldc "value"
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/graal/python/processor/ArgumentClinicProcessor.lambda$2(Ljava/lang/Object;)Ljavax/lang/model/element/AnnotationMirror; (6)
(Ljava/lang/Object;)Ljavax/lang/model/element/AnnotationMirror;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
astore 2
start local 2 3: goto 5
end local 2 4: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement top javax.lang.model.element.AnnotationMirror
StackMap stack:
aload 1
ldc Lcom/oracle/graal/python/annotations/ArgumentClinic;
invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.findAnnotationMirror:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationMirror;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
astore 2
start local 2 5: StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement java.util.List javax.lang.model.element.AnnotationMirror
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 6: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: com.oracle.graal.python.processor.ArgumentClinicProcessor javax.lang.model.element.TypeElement java.util.List javax.lang.model.element.AnnotationMirror java.util.Map top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationMirror
astore 5
start local 5 8: aload 5
ldc "name"
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 9: aload 5
ldc "conversionClass"
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.findAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
astore 8
start local 8 10: aload 8
ifnull 13
11: aload 0
getfield com.oracle.graal.python.processor.ArgumentClinicProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
aload 8
invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
invokeinterface javax.lang.model.util.Types.asElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 9
start local 9 12: aload 4
aload 7
aload 9
invokestatic com.oracle.graal.python.processor.ConverterFactory.getForClass:(Ljavax/lang/model/element/TypeElement;)Lcom/oracle/graal/python/processor/ConverterFactory;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 8 end local 7 end local 5 13: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
14: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
0 15 1 type Ljavax/lang/model/element/TypeElement;
3 4 2 rawArgMirrors Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
5 15 2 rawArgMirrors Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
1 15 3 argsClinicMirror Ljavax/lang/model/element/AnnotationMirror;
6 15 4 converterFactories Ljava/util/Map<Ljava/lang/String;Lcom/oracle/graal/python/processor/ConverterFactory;>;
8 13 5 m Ljavax/lang/model/element/AnnotationMirror;
9 13 7 name Ljava/lang/String;
10 13 8 v Ljavax/lang/model/element/AnnotationValue;
12 13 9 conversionClass Ljavax/lang/model/element/TypeElement;
Exceptions:
throws com.oracle.graal.python.processor.ProcessingError
Signature: (Ljavax/lang/model/element/TypeElement;)Ljava/util/Map<Ljava/lang/String;Lcom/oracle/graal/python/processor/ConverterFactory;>;
MethodParameters:
Name Flags
type
private static javax.lang.model.element.AnnotationMirror findAnnotationMirror(javax.lang.model.element.TypeElement, java.lang.String);
descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationMirror;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface javax.lang.model.element.TypeElement.getAnnotationMirrors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: javax.lang.model.element.TypeElement java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationMirror
astore 2
start local 2 2: aload 2
invokeinterface javax.lang.model.element.AnnotationMirror.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 4
start local 4 3: aload 4
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: aload 2
areturn
end local 4 end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 type Ljavax/lang/model/element/TypeElement;
0 7 1 annotationQualifiedName Ljava/lang/String;
2 5 2 annot Ljavax/lang/model/element/AnnotationMirror;
3 5 4 name Ljava/lang/String;
MethodParameters:
Name Flags
type
annotationQualifiedName
private static javax.lang.model.element.AnnotationValue findAnnotationValue(javax.lang.model.element.AnnotationMirror, java.lang.String);
descriptor: (Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface javax.lang.model.element.AnnotationMirror.getElementValues:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: javax.lang.model.element.AnnotationMirror java.lang.String top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 2: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationValue
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 annotationMirror Ljavax/lang/model/element/AnnotationMirror;
0 6 1 key Ljava/lang/String;
2 4 2 entry Ljava/util/Map$Entry<+Ljavax/lang/model/element/ExecutableElement;+Ljavax/lang/model/element/AnnotationValue;>;
MethodParameters:
Name Flags
annotationMirror
key
private static javax.lang.model.element.AnnotationValue getAnnotationValue(javax.lang.model.element.AnnotationMirror, java.lang.String);
descriptor: (Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.findAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationValue;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Annotation value `"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "` not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: javax.lang.model.element.AnnotationValue
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 annotationMirror Ljavax/lang/model/element/AnnotationMirror;
0 4 1 key Ljava/lang/String;
1 4 2 v Ljavax/lang/model/element/AnnotationValue;
MethodParameters:
Name Flags
annotationMirror
key
private static com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation getBuiltinAnnotation(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Lcom/oracle/graal/python/processor/ArgumentClinicModel$BuiltinAnnotation;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aload 0
ldc "com.oracle.graal.python.builtins.Builtin"
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.findAnnotationMirror:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljavax/lang/model/element/AnnotationMirror;
astore 4
start local 4 4: aload 4
ifnull 16
5: aload 4
invokeinterface javax.lang.model.element.AnnotationMirror.getElementValues:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: javax.lang.model.element.TypeElement java.lang.String java.util.stream.Stream java.util.stream.Stream javax.lang.model.element.AnnotationMirror top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 7: aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
ldc "parameterNames"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationValue
invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
javax/lang/model/element/AnnotationValue.getValue()Ljava/lang/Object; (9 itf)
(Ljavax/lang/model/element/AnnotationValue;)Ljava/lang/Object;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
astore 2
9: goto 15
StackMap locals: javax.lang.model.element.TypeElement java.lang.String java.util.stream.Stream java.util.stream.Stream javax.lang.model.element.AnnotationMirror java.util.Map$Entry java.util.Iterator
StackMap stack:
10: aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
ldc "keywordOnlyNames"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationValue
invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
javax/lang/model/element/AnnotationValue.getValue()Ljava/lang/Object; (9 itf)
(Ljavax/lang/model/element/AnnotationValue;)Ljava/lang/Object;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
astore 3
12: goto 15
StackMap locals:
StackMap stack:
13: aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
ldc "name"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
14: aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationValue
invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
checkcast java.lang.String
astore 1
end local 5 15: StackMap locals: javax.lang.model.element.TypeElement java.lang.String java.util.stream.Stream java.util.stream.Stream javax.lang.model.element.AnnotationMirror top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
16: StackMap locals: javax.lang.model.element.TypeElement java.lang.String java.util.stream.Stream java.util.stream.Stream javax.lang.model.element.AnnotationMirror
StackMap stack:
aload 2
ifnull 17
aload 1
ifnonnull 18
17: StackMap locals:
StackMap stack:
aload 0
ldc "In order to use Argument Clinic, the Builtin annotation must contain 'name' and 'parameterNames' fields."
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.error:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/ProcessingError;
athrow
18: StackMap locals:
StackMap stack:
aload 3
ifnull 20
19: aload 2
aload 3
invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
astore 2
20: StackMap locals:
StackMap stack:
new com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation
dup
aload 1
aload 2
invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
com/oracle/graal/python/processor/ArgumentClinicProcessor.lambda$5(I)[Ljava/lang/String; (6)
(I)[Ljava/lang/String;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.lang.String[]
invokespecial com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinAnnotation.<init>:(Ljava/lang/String;[Ljava/lang/String;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 type Ljavax/lang/model/element/TypeElement;
1 21 1 builtinName Ljava/lang/String;
2 21 2 parameterNames Ljava/util/stream/Stream<*>;
3 21 3 keywordOnlyNames Ljava/util/stream/Stream<*>;
4 21 4 annot Ljavax/lang/model/element/AnnotationMirror;
7 15 5 item Ljava/util/Map$Entry<+Ljavax/lang/model/element/ExecutableElement;+Ljavax/lang/model/element/AnnotationValue;>;
Exceptions:
throws com.oracle.graal.python.processor.ProcessingError
MethodParameters:
Name Flags
type
private static com.oracle.graal.python.processor.ProcessingError error(javax.lang.model.element.Element, java.lang.String, java.lang.Object[]);
descriptor: (Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/graal/python/processor/ProcessingError;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.graal.python.processor.ProcessingError
dup
aload 0
aload 1
aload 2
invokespecial com.oracle.graal.python.processor.ProcessingError.<init>:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 element Ljavax/lang/model/element/Element;
0 1 1 fmt Ljava/lang/String;
0 1 2 args [Ljava/lang/Object;
Exceptions:
throws com.oracle.graal.python.processor.ProcessingError
MethodParameters:
Name Flags
element
fmt
args
private void log(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/graal/python/processor/ArgumentClinicProcessor;
0 1 1 fmt Ljava/lang/String;
0 1 2 args [Ljava/lang/Object;
MethodParameters:
Name Flags
fmt
args
private static java.lang.String getPackage(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokestatic com.oracle.graal.python.processor.ArgumentClinicProcessor.getPackage:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Ljavax/lang/model/element/TypeElement;
MethodParameters:
Name Flags
type
private static java.lang.String getPackage(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 1
start local 1 1: getstatic com.oracle.graal.python.processor.ArgumentClinicProcessor.$assertionsDisabled:Z
ifne 2
iload 1
ifgt 2
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 qname Ljava/lang/String;
1 3 1 idx I
MethodParameters:
Name Flags
qname
private static java.util.Set lambda$0(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 k Ljavax/lang/model/element/TypeElement;
private static boolean lambda$1(java.lang.String, com.oracle.graal.python.annotations.ArgumentClinic);
descriptor: (Ljava/lang/String;Lcom/oracle/graal/python/annotations/ArgumentClinic;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
invokeinterface com.oracle.graal.python.annotations.ArgumentClinic.name:()Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 x Lcom/oracle/graal/python/annotations/ArgumentClinic;
private static javax.lang.model.element.AnnotationMirror lambda$2(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljavax/lang/model/element/AnnotationMirror;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast javax.lang.model.element.AnnotationValue
invokeinterface javax.lang.model.element.AnnotationValue.getValue:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationMirror
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 av Ljava/lang/Object;
private static java.lang.String[] lambda$5(int);
descriptor: (I)[Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray java.lang.String
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ArgumentClinicProcessor.java"
InnerClasses:
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
final BuiltinClinicData = com.oracle.graal.python.processor.ArgumentClinicModel$BuiltinClinicData of com.oracle.graal.python.processor.ArgumentClinicModel
public final Block = com.oracle.graal.python.processor.CodeWriter$Block of com.oracle.graal.python.processor.CodeWriter
public final LineBuilder = com.oracle.graal.python.processor.CodeWriter$LineBuilder of com.oracle.graal.python.processor.CodeWriter
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic