public class com.oracle.truffle.dsl.processor.library.LibraryGenerator extends com.oracle.truffle.dsl.processor.generator.CodeTypeElementFactory<com.oracle.truffle.dsl.processor.library.LibraryData>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.dsl.processor.library.LibraryGenerator
super_class: com.oracle.truffle.dsl.processor.generator.CodeTypeElementFactory
{
private static final java.lang.String ACCEPTS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "accepts"
private com.oracle.truffle.dsl.processor.ProcessorContext context;
descriptor: Lcom/oracle/truffle/dsl/processor/ProcessorContext;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.dsl.processor.library.LibraryData model;
descriptor: Lcom/oracle/truffle/dsl/processor/library/LibraryData;
flags: (0x0002) ACC_PRIVATE
private final java.util.Map<java.lang.String, com.oracle.truffle.dsl.processor.java.model.CodeVariableElement> libraryConstants;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;>;
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/truffle/dsl/processor/library/LibraryGenerator;
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.truffle.dsl.processor.library.LibraryGenerator.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.dsl.processor.generator.CodeTypeElementFactory.<init>:()V
1: aload 0
new java.util.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.libraryConstants:Ljava/util/Map;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator;
public java.util.List<com.oracle.truffle.dsl.processor.java.model.CodeTypeElement> create(com.oracle.truffle.dsl.processor.ProcessorContext, com.oracle.truffle.dsl.processor.AnnotationProcessor<?>, com.oracle.truffle.dsl.processor.library.LibraryData);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=50, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.libraryConstants:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
1: aload 0
aload 1
putfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
2: aload 0
aload 3
putfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
3: aload 3
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.hasErrors:()Z
ifeq 5
4: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
astore 5
start local 5 6: aload 5
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
astore 6
start local 6 7: new com.oracle.truffle.dsl.processor.java.model.CodeTypeMirror$DeclaredCodeTypeMirror
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypeElement:(Ljavax/lang/model/type/DeclaredType;)Ljavax/lang/model/element/TypeElement;
iconst_1
anewarray javax.lang.model.type.TypeMirror
dup
iconst_0
8: aload 6
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
9: invokespecial com.oracle.truffle.dsl.processor.java.model.CodeTypeMirror$DeclaredCodeTypeMirror.<init>:(Ljavax/lang/model/element/TypeElement;Ljava/util/List;)V
astore 7
start local 7 10: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
aconst_null
iconst_1
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.createGenTypeName:(Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Ljava/lang/String;
aload 7
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createClass:(Lcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;Ljava/util/Set;Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 8
start local 8 11: new com.oracle.truffle.dsl.processor.java.model.CodeTypeMirror$DeclaredCodeTypeMirror
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Class;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypeElement:(Ljava/lang/Class;)Ljavax/lang/model/element/TypeElement;
iconst_1
anewarray javax.lang.model.type.TypeMirror
dup
iconst_0
12: aload 6
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
13: invokespecial com.oracle.truffle.dsl.processor.java.model.CodeTypeMirror$DeclaredCodeTypeMirror.<init>:(Ljavax/lang/model/element/TypeElement;Ljava/util/List;)V
astore 9
start local 9 14: aload 8
new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
dup
iconst_2
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 9
ldc "lazyLibraryClass"
iconst_0
anewarray com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;[Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 10
start local 10 15: aload 10
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "unchecked"
aastore
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.mergeSupressWarnings:(Lcom/oracle/truffle/dsl/processor/java/model/CodeElement;[Ljava/lang/String;)V
16: aload 10
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
start local 4 17: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startTryBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
18: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "return "
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
19: aload 4
aload 9
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.cast:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
20: aload 4
aload 9
ldc "forName"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 5
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getClassQualifiedName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.doubleQuote:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
21: ldc "false"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
22: invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 8
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.typeLiteral:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc ".getClassLoader()"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
23: invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
24: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
25: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/ClassNotFoundException;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "e"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCatchBlock:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
26: aload 4
ldc "e"
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.singleString:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createShouldNotReachHere:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
27: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
28: aload 8
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
iconst_3
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_2
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 9
ldc "LIBRARY_CLASS"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
astore 11
start local 11 29: aload 11
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.createInitBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 10
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
30: aload 8
new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
dup
iconst_1
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aconst_null
ldc "<cinit>"
iconst_0
anewarray com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;[Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 12
start local 12 31: aload 12
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 13
start local 13 32: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 14
start local 14 33: iconst_0
istore 15
start local 15 34: goto 41
35: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List int
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getMethods:()Ljava/util/List;
iload 15
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.library.LibraryMessage
astore 16
start local 16 36: aload 16
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.hasErrors:()Z
ifeq 38
37: goto 40
38: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryMessage
StackMap stack:
new com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects
dup
aload 0
aload 16
iload 15
invokespecial com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.<init>:(Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator;Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;I)V
astore 17
start local 17 39: aload 14
aload 17
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 17 end local 16 40: StackMap locals:
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
41: iload 15
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getMethods:()Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 35
end local 15 42: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "getDefaultClass"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 15
start local 15 43: aload 15
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
44: aload 15
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "receiver"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
45: aload 15
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
46: getstatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.$assertionsDisabled:Z
ifne 47
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getDefaultExports:()Ljava/util/List;
invokeinterface java.util.List.size:()I
ifgt 47
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
47: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
StackMap stack:
iconst_0
istore 16
start local 16 48: iconst_0
istore 17
start local 17 49: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getDefaultExports:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 19
goto 72
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int top java.util.Iterator
StackMap stack:
50: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.library.LibraryDefaultExportData
astore 18
start local 18 51: aload 18
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryDefaultExportData.getReceiverType:()Ljavax/lang/model/type/TypeMirror;
astore 20
start local 20 52: iconst_0
istore 21
start local 21 53: aload 20
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Object;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifeq 58
54: iload 16
ifeq 57
55: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startElseBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
56: iinc 21 1
57: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.library.LibraryDefaultExportData java.util.Iterator javax.lang.model.type.TypeMirror int
StackMap stack:
getstatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.$assertionsDisabled:Z
ifne 62
iload 17
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getDefaultExports:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpeq 62
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
58: StackMap locals:
StackMap stack:
aload 4
iload 16
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:(Z)Z
istore 16
59: iinc 21 1
60: aload 4
ldc "receiver"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
aload 20
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.boxType:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.instanceOf:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
61: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
62: StackMap locals:
StackMap stack:
aload 18
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryDefaultExportData.getImplType:()Ljavax/lang/model/type/TypeMirror;
ifnonnull 69
63: aload 0
aload 8
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryGenerator.createDefaultImpl:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)[Ljavax/lang/model/type/TypeMirror;
astore 22
start local 22 64: aload 13
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryExport:Ljavax/lang/model/type/DeclaredType;
ldc "register"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
65: aload 13
aload 11
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.staticReference:(Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 22
iconst_1
aaload
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
66: aload 13
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
67: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 22
iconst_0
aaload
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.typeLiteral:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 22 68: goto 70
69: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 18
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryDefaultExportData.getImplType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.typeLiteral:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
70: StackMap locals:
StackMap stack:
aload 4
iload 21
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:(I)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
71: iinc 17 1
end local 21 end local 20 end local 18 72: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int top java.util.Iterator
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 50
73: aload 8
aload 15
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
74: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
aconst_null
iconst_2
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
ldc "MessageImpl"
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Message:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createClass:(Lcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;Ljava/util/Set;Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 18
start local 18 75: aload 18
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
iconst_1
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "index"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
76: new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
dup
iconst_0
anewarray javax.lang.model.element.Modifier
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aconst_null
aload 18
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
iconst_0
anewarray com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;[Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;)V
astore 19
start local 19 77: aload 19
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "name"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.addParameter:(Ljavax/lang/model/element/VariableElement;)V
78: aload 19
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "index"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.addParameter:(Ljavax/lang/model/element/VariableElement;)V
79: aload 19
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Class;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "returnType"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.addParameter:(Ljavax/lang/model/element/VariableElement;)V
80: aload 19
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc [Ljava/lang/Class;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "parameters"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.addParameter:(Ljavax/lang/model/element/VariableElement;)V
81: aload 19
iconst_1
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.setVarArgs:(Z)V
82: aload 19
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
83: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startSuperCall:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 11
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.staticReference:(Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "name"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "returnType"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "parameters"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
84: aload 4
ldc "this.index = index"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
85: aload 18
aload 19
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
86: aload 8
aload 18
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
87: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
aconst_null
iconst_3
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_2
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
ldc "Proxy"
aload 6
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createClass:(Lcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;Ljava/util/Set;Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 20
start local 20 88: aload 8
aload 20
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
89: aload 20
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
iconst_1
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypes:()Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.ReflectionLibrary:Ljavax/lang/model/type/DeclaredType;
ldc "lib"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
astore 21
start local 21 90: aload 21
new com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node_Child:Ljavax/lang/model/type/DeclaredType;
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror.<init>:(Ljavax/lang/model/type/DeclaredType;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.addAnnotationMirror:(Ljavax/lang/model/element/AnnotationMirror;)V
91: aload 20
iconst_0
anewarray javax.lang.model.element.Modifier
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 20
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createConstructorUsingFields:(Ljava/util/Set;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
92: aload 20
aload 0
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryGenerator.createGenericCastMethod:(Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.addOptional:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
93: aload 14
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 23
goto 108
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement top java.util.Iterator
StackMap stack:
94: aload 23
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects
astore 22
start local 22 95: aload 22
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getName:()Ljava/lang/String;
ldc "accepts"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 97
96: goto 108
97: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator
StackMap stack:
aload 22
aload 8
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
iconst_3
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_2
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Message:Ljavax/lang/model/type/DeclaredType;
aload 22
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getName:()Ljava/lang/String;
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.createConstantName:(Ljava/lang/String;)Ljava/lang/String;
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
putfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.messageField:Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
98: aload 22
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.messageField:Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.createInitBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
99: aload 4
aload 18
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 22
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.doubleQuote:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 22
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.messageIndex:I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
100: aload 22
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getExecutable:()Ljavax/lang/model/element/ExecutableElement;
astore 24
start local 24 101: aload 4
aload 24
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.typeLiteral:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
102: iconst_0
istore 25
start local 25 103: goto 106
104: StackMap locals: javax.lang.model.element.ExecutableElement int
StackMap stack:
aload 4
aload 24
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
iload 25
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.typeLiteral:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
105: iinc 25 1
StackMap locals:
StackMap stack:
106: iload 25
aload 24
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 104
end local 25 107: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 24 end local 22 108: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement top java.util.Iterator
StackMap stack:
aload 23
invokeinterface java.util.Iterator.hasNext:()Z
ifne 94
109: aload 8
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
iconst_3
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_2
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 8
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
ldc "INSTANCE"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
astore 22
start local 22 110: aload 22
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.createInitBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 8
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
111: aload 13
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
112: aload 13
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "register"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
113: aload 13
aload 11
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.staticReference:(Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 22
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
114: aload 13
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
115: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getAssertions:()Ljavax/lang/model/type/TypeMirror;
ifnull 123
116: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "createAssertions"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 23
start local 23 117: aload 23
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
118: aload 23
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.setType:(Ljavax/lang/model/type/TypeMirror;)V
119: aload 23
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "delegate"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
120: aload 23
aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.setReturnType:(Ljavax/lang/model/type/TypeMirror;)V
121: aload 23
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getAssertions:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "delegate"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
122: aload 8
aload 23
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
end local 23 123: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "createProxy"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 23
start local 23 124: aload 23
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
125: aload 23
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "library"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
126: aload 23
aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.setReturnType:(Ljavax/lang/model/type/TypeMirror;)V
127: aload 23
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 20
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "library"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
128: aload 8
aload 23
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
129: aload 14
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 25
goto 192
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement top java.util.Iterator
StackMap stack:
130: aload 25
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects
astore 24
start local 24 131: aload 20
aload 24
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getExecutable:()Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.cloneNoAnnotations:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 26
start local 26 132: aload 26
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.removeAbstractModifiers:(Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;)V
133: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
getstatic javax.lang.model.type.TypeKind.TYPEVAR:Ljavax/lang/model/type/TypeKind;
if_acmpne 135
134: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getAnnotationMirrors:()Ljava/util/List;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.createSuppressWarningsUnchecked:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;)Lcom/oracle/truffle/dsl/processor/java/model/CodeAnnotationMirror;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
135: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
StackMap stack:
aload 26
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "receiver_"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
136: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
137: iconst_0
istore 27
start local 27 138: aload 24
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getName:()Ljava/lang/String;
ldc "accepts"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 141
139: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "lib.accepts(receiver_)"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
140: goto 190
141: StackMap locals: int
StackMap stack:
aload 26
iconst_0
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getSignatureReceiverType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.injectReceiverType:(Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;ILjavax/lang/model/type/TypeMirror;)V
142: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startTryBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
143: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
144: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Object;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.needsCastTo:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifeq 148
145: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.hasGenericTypes:(Ljavax/lang/model/type/TypeMirror;)Z
ifeq 147
146: iconst_1
istore 27
147: StackMap locals:
StackMap stack:
aload 4
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.cast:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
148: StackMap locals:
StackMap stack:
aload 4
ldc "lib"
ldc "send"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "receiver_"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aconst_null
aload 24
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.messageField:Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.field:(Ljava/lang/String;Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
149: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
astore 28
start local 28 150: aload 28
iconst_1
aload 28
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 30
goto 158
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int java.util.List top java.util.Iterator
StackMap stack:
151: aload 30
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 29
start local 29 152: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
153: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.isVarArgs:()Z
ifeq 156
aload 28
invokeinterface java.util.List.size:()I
iconst_2
if_icmpne 156
aload 29
aload 28
aload 28
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
if_acmpne 156
154: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc [Ljava/lang/Object;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
aload 29
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifeq 156
155: aload 4
ldc "(Object) "
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
156: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int java.util.List javax.lang.model.element.VariableElement java.util.Iterator
StackMap stack:
aload 4
aload 29
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
157: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 29 158: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int java.util.List top java.util.Iterator
StackMap stack:
aload 30
invokeinterface java.util.Iterator.hasNext:()Z
ifne 151
159: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
160: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
161: new java.util.ArrayList
dup
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getThrownTypes:()Ljava/util/List;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 29
start local 29 162: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/RuntimeException;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
astore 30
start local 30 163: aload 29
aload 30
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
164: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 31
start local 31 165: aload 29
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 33
goto 173
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int java.util.List java.util.List javax.lang.model.type.TypeMirror java.util.Set top java.util.Iterator
StackMap stack:
166: aload 33
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
astore 32
start local 32 167: aload 29
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 35
goto 172
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int java.util.List java.util.List javax.lang.model.type.TypeMirror java.util.Set javax.lang.model.type.TypeMirror java.util.Iterator top java.util.Iterator
StackMap stack:
168: aload 35
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
astore 34
start local 34 169: aload 32
aload 34
if_acmpeq 172
aload 32
aload 34
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isAssignable:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifeq 172
170: aload 31
aload 32
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
171: goto 173
end local 34 172: StackMap locals:
StackMap stack:
aload 35
invokeinterface java.util.Iterator.hasNext:()Z
ifne 168
end local 32 173: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int java.util.List java.util.List javax.lang.model.type.TypeMirror java.util.Set top java.util.Iterator
StackMap stack:
aload 33
invokeinterface java.util.Iterator.hasNext:()Z
ifne 166
174: aload 29
aload 31
invokeinterface java.util.List.removeAll:(Ljava/util/Collection;)Z
pop
175: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Exception;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
astore 32
start local 32 176: iconst_1
istore 33
start local 33 177: aload 29
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 35
goto 182
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int java.util.List java.util.List javax.lang.model.type.TypeMirror java.util.Set javax.lang.model.type.TypeMirror int top java.util.Iterator
StackMap stack:
178: aload 35
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
astore 34
start local 34 179: aload 32
aload 34
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isAssignable:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifeq 182
180: iconst_0
istore 33
181: goto 183
end local 34 182: StackMap locals:
StackMap stack:
aload 35
invokeinterface java.util.Iterator.hasNext:()Z
ifne 178
183: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int java.util.List java.util.List javax.lang.model.type.TypeMirror java.util.Set javax.lang.model.type.TypeMirror int
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 29
iconst_0
anewarray javax.lang.model.type.TypeMirror
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror[]
ldc "e_"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCatchBlock:([Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
184: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startThrow:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "e_"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
185: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
186: iload 33
ifeq 190
187: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Exception;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "e_"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCatchBlock:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
188: aload 4
ldc "e_"
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.singleString:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createShouldNotReachHere:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
189: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 33 end local 32 end local 31 end local 30 end local 29 end local 28 190: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int
StackMap stack:
iload 27
ifeq 192
191: aload 26
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "unchecked"
aastore
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.mergeSupressWarnings:(Lcom/oracle/truffle/dsl/processor/java/model/CodeElement;[Ljava/lang/String;)V
end local 27 end local 26 end local 24 192: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement top java.util.Iterator
StackMap stack:
aload 25
invokeinterface java.util.Iterator.hasNext:()Z
ifne 130
193: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "createMessageBitSet"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 24
start local 24 194: aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
195: aload 24
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "messages"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
196: aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
197: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/util/BitSet;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "bitSet"
ldc "new BitSet(2)"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.declaration:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
198: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startFor:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
199: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Message:Ljavax/lang/model/type/DeclaredType;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.type:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
200: aload 4
ldc " message : messages"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
201: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
202: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
203: aload 4
ldc "bitSet.set((("
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 18
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.type:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc ") message).index)"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
204: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
205: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
206: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
207: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.FinalBitSet:Ljavax/lang/model/type/DeclaredType;
ldc "valueOf"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "bitSet"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
208: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
209: aload 8
aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
210: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
aconst_null
iconst_3
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_2
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
ldc "Delegate"
aload 6
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createClass:(Lcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;Ljava/util/Set;Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 25
start local 25 211: aload 8
aload 25
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
212: aload 25
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
iconst_1
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 6
ldc "delegateLibrary"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
astore 26
start local 26 213: aload 26
new com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node_Child:Ljavax/lang/model/type/DeclaredType;
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror.<init>:(Ljavax/lang/model/type/DeclaredType;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.addAnnotationMirror:(Ljavax/lang/model/element/AnnotationMirror;)V
214: aload 25
iconst_0
anewarray javax.lang.model.element.Modifier
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 25
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createConstructorUsingFields:(Ljava/util/Set;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
215: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "createDelegate"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 27
start local 27 216: aload 27
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
217: aload 27
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "delegateLibrary"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
218: aload 27
iconst_1
anewarray javax.lang.model.type.TypeMirror
dup
iconst_0
aload 6
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.changeTypes:([Ljavax/lang/model/type/TypeMirror;)V
219: aload 27
aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.setReturnType:(Ljavax/lang/model/type/TypeMirror;)V
220: aload 27
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 25
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "delegateLibrary"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
221: aload 8
aload 27
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
222: aload 25
aload 0
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryGenerator.createDelegateCastMethod:(Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.addOptional:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
223: aload 14
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 29
goto 279
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement top java.util.Iterator
StackMap stack:
224: aload 29
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects
astore 28
start local 28 225: aload 25
aload 28
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getExecutable:()Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.cloneNoAnnotations:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 30
start local 30 226: aload 30
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.removeAbstractModifiers:(Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;)V
227: aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
getstatic javax.lang.model.type.TypeKind.TYPEVAR:Ljavax/lang/model/type/TypeKind;
if_acmpne 229
228: aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getAnnotationMirrors:()Ljava/util/List;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.createSuppressWarningsUnchecked:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;)Lcom/oracle/truffle/dsl/processor/java/model/CodeAnnotationMirror;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
229: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
StackMap stack:
aload 30
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "receiver_"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
230: aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
231: iconst_0
istore 31
start local 31 232: aload 28
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getName:()Ljava/lang/String;
ldc "accepts"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 235
233: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "delegateLibrary.accepts(receiver_)"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
234: goto 277
235: StackMap locals: int
StackMap stack:
aload 30
iconst_0
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getSignatureReceiverType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.injectReceiverType:(Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;ILjavax/lang/model/type/TypeMirror;)V
236: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "isDelegated"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
237: aload 4
ldc "delegateLibrary"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
238: aload 4
aload 28
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.messageIndex:I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
239: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
240: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
241: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Object;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.type:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
242: aload 4
ldc " delegate = "
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
243: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "readDelegate"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
244: aload 4
ldc "this.delegateLibrary"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "receiver_"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
245: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
246: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
247: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
248: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "getDelegateLibrary"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
249: aload 4
ldc "this.delegateLibrary"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "delegate"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
250: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
251: aload 4
ldc "."
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
252: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Object;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getSignatureReceiverType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 258
253: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
254: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getSignatureReceiverType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.cast:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
255: aload 4
ldc "delegate"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
256: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
257: goto 259
258: StackMap locals:
StackMap stack:
aload 4
ldc "delegate"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
259: StackMap locals:
StackMap stack:
aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
iconst_1
aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 33
goto 262
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int top java.util.Iterator
StackMap stack:
260: aload 33
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 32
start local 32 261: aload 4
aload 32
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 32 262: StackMap locals:
StackMap stack:
aload 33
invokeinterface java.util.Iterator.hasNext:()Z
ifne 260
263: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
264: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
265: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
266: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startElseBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
267: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
268: aload 4
ldc "this.delegateLibrary"
aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
269: aload 4
ldc "receiver_"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
270: aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
iconst_1
aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 33
goto 273
StackMap locals:
StackMap stack:
271: aload 33
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 32
start local 32 272: aload 4
aload 32
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 32 273: StackMap locals:
StackMap stack:
aload 33
invokeinterface java.util.Iterator.hasNext:()Z
ifne 271
274: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
275: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
276: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
277: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int
StackMap stack:
iload 31
ifeq 279
278: aload 30
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "unchecked"
aastore
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.mergeSupressWarnings:(Lcom/oracle/truffle/dsl/processor/java/model/CodeElement;[Ljava/lang/String;)V
end local 31 end local 30 end local 28 279: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement top java.util.Iterator
StackMap stack:
aload 29
invokeinterface java.util.Iterator.hasNext:()Z
ifne 224
280: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node:Ljavax/lang/model/type/DeclaredType;
ldc "getCost"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 28
start local 28 281: aload 28
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.NodeCost:Ljavax/lang/model/type/DeclaredType;
ldc "NONE"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.staticReference:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
282: aload 25
aload 28
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
283: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node:Ljavax/lang/model/type/DeclaredType;
ldc "isAdoptable"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 29
start local 29 284: aload 29
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "this.delegateLibrary.isAdoptable()"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
285: aload 25
aload 29
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
286: aload 8
aload 0
aload 14
aload 18
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryGenerator.createGenericDispatch:(Ljava/util/List;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
287: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
aconst_null
iconst_3
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_2
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
ldc "CachedToUncachedDispatch"
aload 6
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createClass:(Lcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;Ljava/util/Set;Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 30
start local 30 288: aload 30
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node:Ljavax/lang/model/type/DeclaredType;
ldc "getCost"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 31
start local 31 289: aload 31
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.NodeCost:Ljavax/lang/model/type/DeclaredType;
ldc "MEGAMORPHIC"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findVariableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/VariableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.staticReference:(Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
290: aload 14
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 33
goto 315
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement top java.util.Iterator
StackMap stack:
291: aload 33
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects
astore 32
start local 32 292: aload 30
aload 32
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getExecutable:()Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.cloneNoAnnotations:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 34
start local 34 293: aload 34
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "receiver_"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
294: aload 34
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.removeAbstractModifiers:(Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;)V
295: aload 34
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
296: aload 32
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getName:()Ljava/lang/String;
ldc "accepts"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 299
297: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.returnTrue:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
298: goto 315
299: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
StackMap stack:
aload 34
aload 4
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.addBoundaryOrTransferToInterpreter:(Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;)V
300: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.isPushEncapsulatingNode:()Z
istore 35
start local 35 301: iload 35
ifeq 304
302: aload 4
ldc "getParent()"
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.pushEncapsulatingNode:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;Ljava/lang/String;)V
303: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startTryBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
304: StackMap locals: int
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "INSTANCE.getUncached(receiver_)"
aload 34
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
305: aload 34
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 37
goto 308
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int top java.util.Iterator
StackMap stack:
306: aload 37
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 36
start local 36 307: aload 4
aload 36
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 36 308: StackMap locals:
StackMap stack:
aload 37
invokeinterface java.util.Iterator.hasNext:()Z
ifne 306
309: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
310: iload 35
ifeq 314
311: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startFinallyBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
312: aload 4
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.popEncapsulatingNode:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;)V
313: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
314: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
aload 34
invokestatic com.oracle.truffle.dsl.processor.library.ExportsGenerator.injectCachedAssertions:(Lcom/oracle/truffle/dsl/processor/library/LibraryData;Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;)V
end local 35 end local 34 end local 32 315: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement top java.util.Iterator
StackMap stack:
aload 33
invokeinterface java.util.Iterator.hasNext:()Z
ifne 291
316: aload 30
aload 0
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryGenerator.createGenericCastMethod:(Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.addOptional:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
317: aload 8
aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
318: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
aconst_null
iconst_3
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_2
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
ldc "UncachedDispatch"
aload 6
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createClass:(Lcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;Ljava/util/Set;Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 32
start local 32 319: aload 32
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node:Ljavax/lang/model/type/DeclaredType;
ldc "getCost"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 31
320: aload 31
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.NodeCost:Ljavax/lang/model/type/DeclaredType;
ldc "MEGAMORPHIC"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findVariableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/VariableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.staticReference:(Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
321: aload 14
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 34
goto 337
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement top java.util.Iterator
StackMap stack:
322: aload 34
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects
astore 33
start local 33 323: aload 32
aload 33
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getExecutable:()Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.cloneNoAnnotations:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 35
start local 35 324: aload 35
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "receiver_"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
325: aload 35
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.removeAbstractModifiers:(Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;)V
326: aload 35
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
327: aload 35
aload 4
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.addBoundaryOrTransferToInterpreter:(Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;)V
328: aload 33
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getName:()Ljava/lang/String;
ldc "accepts"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 331
329: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.returnTrue:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
330: goto 337
331: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "INSTANCE.getUncached(receiver_)"
aload 35
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
332: aload 35
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 37
goto 335
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement top java.util.Iterator
StackMap stack:
333: aload 37
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 36
start local 36 334: aload 4
aload 36
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 36 335: StackMap locals:
StackMap stack:
aload 37
invokeinterface java.util.Iterator.hasNext:()Z
ifne 333
336: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 35 end local 33 337: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement top java.util.Iterator
StackMap stack:
aload 34
invokeinterface java.util.Iterator.hasNext:()Z
ifne 322
338: aload 32
aload 0
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryGenerator.createGenericCastMethod:(Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.addOptional:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
339: aload 32
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node:Ljavax/lang/model/type/DeclaredType;
ldc "isAdoptable"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 33
start local 33 340: aload 33
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.returnFalse:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
341: aload 8
aload 32
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
342: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
aconst_null
iconst_3
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_2
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
ldc "CachedDispatch"
aload 6
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createClass:(Lcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;Ljava/util/Set;Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 34
start local 34 343: aload 34
new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
dup
iconst_1
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "getLimit"
iconst_0
anewarray com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;[Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 35
start local 35 344: aload 34
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
iconst_0
anewarray javax.lang.model.element.Modifier
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 6
ldc "library"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
astore 36
start local 36 345: aload 36
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.getAnnotationMirrors:()Ljava/util/List;
new com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node_Child:Ljavax/lang/model/type/DeclaredType;
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror.<init>:(Ljavax/lang/model/type/DeclaredType;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
346: aload 34
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
iconst_0
anewarray javax.lang.model.element.Modifier
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 34
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
ldc "next"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
astore 37
start local 37 347: aload 37
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.getAnnotationMirrors:()Ljava/util/List;
new com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node_Child:Ljavax/lang/model/type/DeclaredType;
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror.<init>:(Ljavax/lang/model/type/DeclaredType;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
348: aload 34
iconst_0
anewarray javax.lang.model.element.Modifier
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 34
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createConstructorUsingFields:(Ljava/util/Set;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
349: aload 14
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 39
goto 377
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement top java.util.Iterator
StackMap stack:
350: aload 39
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects
astore 38
start local 38 351: aload 34
aload 38
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getExecutable:()Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.cloneNoAnnotations:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 40
start local 40 352: aload 40
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "receiver_"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
353: aload 40
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.removeAbstractModifiers:(Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;)V
354: aload 40
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
355: aload 38
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getName:()Ljava/lang/String;
ldc "accepts"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 358
356: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.returnTrue:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
357: goto 377
358: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
StackMap stack:
aload 40
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getAnnotationMirrors:()Ljava/util/List;
aload 0
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryGenerator.createExplodeLoop:()Lcom/oracle/truffle/dsl/processor/java/model/CodeAnnotationMirror;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
359: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startDoBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
360: aload 4
aload 34
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
ldc "current"
ldc "this"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.declaration:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
361: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startDoBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
362: aload 4
aload 6
ldc "thisLibrary"
ldc "current.library"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.declaration:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
363: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "thisLibrary != null && thisLibrary.accepts(receiver_)"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
364: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "thisLibrary"
aload 40
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
365: aload 40
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 42
goto 368
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement top java.util.Iterator
StackMap stack:
366: aload 42
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 41
start local 41 367: aload 4
aload 41
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 41 368: StackMap locals:
StackMap stack:
aload 42
invokeinterface java.util.Iterator.hasNext:()Z
ifne 366
369: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
370: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
371: aload 4
ldc "current = current.next"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
372: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startDoWhile:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "current != null"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
373: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.CompilerDirectives:Ljavax/lang/model/type/DeclaredType;
ldc "transferToInterpreterAndInvalidate"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
374: aload 4
ldc "specialize(receiver_)"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
375: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startDoWhile:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "true"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
376: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 40 end local 38 377: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement top java.util.Iterator
StackMap stack:
aload 39
invokeinterface java.util.Iterator.hasNext:()Z
ifne 350
378: aload 34
aload 0
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryGenerator.createGenericCastMethod:(Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.addOptional:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
379: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
aconst_null
iconst_3
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_2
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
ldc "CachedDispatchNext"
aload 34
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createClass:(Lcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;Ljava/util/Set;Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 38
start local 38 380: aload 38
iconst_0
anewarray javax.lang.model.element.Modifier
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 38
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createConstructorUsingFields:(Ljava/util/Set;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
381: aload 38
aload 35
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 39
start local 39 382: aload 39
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.removeAbstractModifiers:(Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;)V
383: aload 39
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
384: aload 4
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createShouldNotReachHere:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
385: aload 8
aload 38
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
386: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.NodeCost:Ljavax/lang/model/type/DeclaredType;
astore 40
start local 40 387: aload 38
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node:Ljavax/lang/model/type/DeclaredType;
ldc "getCost"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 31
388: aload 31
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 40
ldc "NONE"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findVariableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/VariableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.staticReference:(Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
389: aload 34
new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
dup
iconst_1
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "specialize"
iconst_0
anewarray com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;[Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 41
start local 41 390: aload 41
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getSignatureReceiverType:()Ljavax/lang/model/type/TypeMirror;
ldc "receiver_"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.addParameter:(Ljavax/lang/model/element/VariableElement;)V
391: aload 41
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
392: aload 4
aload 34
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
ldc "current"
ldc "this"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.declaration:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
393: aload 4
aload 6
ldc "thisLibrary"
ldc "current.library"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.declaration:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
394: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "thisLibrary == null"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
395: aload 4
ldc "this.library = insert(INSTANCE.create(receiver_))"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
396: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startElseBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
397: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/util/concurrent/locks/Lock;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "lock"
ldc "getLock()"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.declaration:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
398: aload 4
ldc "lock.lock()"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
399: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startTryBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
400: aload 4
ldc "int"
ldc "count"
ldc "0"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.declaration:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
401: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startDoBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
402: aload 4
aload 6
ldc "currentLibrary"
ldc "current.library"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.declaration:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
403: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "currentLibrary != null && currentLibrary.accepts(receiver_)"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
404: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.returnStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
405: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
406: aload 4
ldc "count++"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
407: aload 4
ldc "current = current.next"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
408: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startDoWhile:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "current != null"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
409: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "count >= getLimit()"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
410: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "this.library = insert("
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc ")"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
411: aload 4
ldc "this.next = null"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
412: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startElseBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
413: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "this.next = insert("
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
414: aload 4
aload 38
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "INSTANCE.create(receiver_)"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "next"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
415: aload 4
ldc ")"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
416: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
417: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
418: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
419: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startFinallyBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
420: aload 4
ldc "lock.unlock()"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
421: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
422: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
423: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
aconst_null
iconst_3
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_2
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
ldc "CachedDispatchFirst"
aload 34
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createClass:(Lcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;Ljava/util/Set;Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 42
start local 42 424: aload 42
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
iconst_2
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
dup
iconst_1
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "limit_"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
astore 43
start local 43 425: aload 42
iconst_0
anewarray javax.lang.model.element.Modifier
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 42
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createConstructorUsingFields:(Ljava/util/Set;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
426: aload 42
aload 35
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 44
start local 44 427: aload 44
invokestatic com.oracle.truffle.dsl.processor.library.LibraryGenerator.removeAbstractModifiers:(Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;)V
428: aload 44
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "this."
aload 43
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
429: aload 8
aload 42
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
430: aload 42
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node:Ljavax/lang/model/type/DeclaredType;
ldc "getCost"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 31
431: aload 31
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
432: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "this.library"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 30
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.instanceOf:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
433: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 40
ldc "MEGAMORPHIC"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findVariableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/VariableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.staticReference:(Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
434: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
435: aload 4
aload 34
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
ldc "current"
ldc "this"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.declaration:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
436: aload 4
ldc "int count = 0"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
437: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startDoBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
438: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "current.library != null"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
439: aload 4
ldc "count++"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
440: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
441: aload 4
ldc "current = current.next"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
442: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startDoWhile:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "current != null"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
443: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 40
ldc "fromCount"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "count"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
444: aload 8
aload 34
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
445: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "createDispatchImpl"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 45
start local 45 446: aload 45
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
447: aload 45
aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.setReturnType:(Ljavax/lang/model/type/TypeMirror;)V
448: aload 45
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "limit"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
449: aload 45
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
450: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 42
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "null"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "null"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "limit"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
451: aload 8
aload 45
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
452: aload 8
453: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "createUncachedDispatch"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.clone:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
454: invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
astore 46
start local 46 455: aload 46
aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.setReturnType:(Ljavax/lang/model/type/TypeMirror;)V
456: aload 46
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
457: aload 46
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 32
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
458: new com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
dup
iconst_1
anewarray javax.lang.model.element.Modifier
dup
iconst_0
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aconst_null
aload 8
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
iconst_0
anewarray com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;[Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;)V
astore 47
start local 47 459: aload 8
aload 47
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
460: aload 47
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 4
461: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
462: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startSuperCall:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 11
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.staticReference:(Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
463: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/util/Collections;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "unmodifiableList"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
464: aload 4
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/util/Arrays;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "asList"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
465: aload 14
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 49
goto 469
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.AnnotationProcessor com.oracle.truffle.dsl.processor.library.LibraryData com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder java.util.List com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int int com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement javax.lang.model.type.DeclaredType com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeVariableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement top java.util.Iterator
StackMap stack:
466: aload 49
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects
astore 48
start local 48 467: aload 48
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.messageField:Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
ifnull 469
468: aload 4
aconst_null
aload 48
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.messageField:Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.field:(Ljava/lang/String;Ljavax/lang/model/element/VariableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 48 469: StackMap locals:
StackMap stack:
aload 49
invokeinterface java.util.Iterator.hasNext:()Z
ifne 466
470: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
471: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
472: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
473: aload 8
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.libraryConstants:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.addAll:(Ljava/util/Collection;)V
474: iconst_1
anewarray com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
dup
iconst_0
aload 8
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
areturn
end local 47 end local 46 end local 45 end local 44 end local 43 end local 42 end local 41 end local 40 end local 39 end local 38 end local 37 end local 36 end local 35 end local 34 end local 33 end local 32 end local 31 end local 30 end local 29 end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 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 475 0 this Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator;
0 475 1 context1 Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 475 2 processor Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;
0 475 3 model1 Lcom/oracle/truffle/dsl/processor/library/LibraryData;
17 475 4 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
6 475 5 libraryType Ljavax/lang/model/element/TypeElement;
7 475 6 libraryTypeMirror Ljavax/lang/model/type/TypeMirror;
10 475 7 baseType Ljavax/lang/model/type/TypeMirror;
11 475 8 genClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
14 475 9 classLiteral Ljavax/lang/model/type/TypeMirror;
15 475 10 loadLibraryClass Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
29 475 11 libraryClassLiteral Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
31 475 12 staticsMethod Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
32 475 13 statics Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
33 475 14 methods Ljava/util/List<Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;>;
34 42 15 messageIndex I
36 40 16 message Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
39 40 17 objects Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;
43 475 15 getDefault Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
48 475 16 elseIf Z
49 475 17 index I
51 72 18 defaultExport Lcom/oracle/truffle/dsl/processor/library/LibraryDefaultExportData;
52 72 20 defaultProviderReceiverType Ljavax/lang/model/type/TypeMirror;
53 72 21 ifCount I
64 68 22 defaultTypeMirrors [Ljavax/lang/model/type/TypeMirror;
75 475 18 messageClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
77 475 19 messageConstructor Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
88 475 20 proxyClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
90 475 21 libField Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
95 108 22 message Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;
101 108 24 method Ljavax/lang/model/element/ExecutableElement;
103 107 25 i I
110 475 22 instance Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
117 123 23 createAssertions Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
124 475 23 createProxy Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
131 192 24 message Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;
132 192 26 executeImpl Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
138 192 27 uncheckedCast Z
150 190 28 executeParameters Ljava/util/List<Ljavax/lang/model/element/VariableElement;>;
152 158 29 param Ljavax/lang/model/element/VariableElement;
162 190 29 exceptionTypes Ljava/util/List<Ljavax/lang/model/type/TypeMirror;>;
163 190 30 runtimeException Ljavax/lang/model/type/TypeMirror;
165 190 31 remove Ljava/util/Set<Ljavax/lang/model/type/TypeMirror;>;
167 173 32 type1 Ljavax/lang/model/type/TypeMirror;
169 172 34 type2 Ljavax/lang/model/type/TypeMirror;
176 190 32 exceptionType Ljavax/lang/model/type/TypeMirror;
177 190 33 fallThrough Z
179 182 34 thrownType Ljavax/lang/model/type/TypeMirror;
194 475 24 createMessageBitSet Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
211 475 25 delegateClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
213 475 26 delegateField Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
216 475 27 createDelegate Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
225 279 28 message Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;
226 279 30 executeImpl Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
232 279 31 uncheckedCast Z
261 262 32 param Ljavax/lang/model/element/VariableElement;
272 273 32 param Ljavax/lang/model/element/VariableElement;
281 475 28 delegateNodeCost Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
284 475 29 delegateIsAdoptable Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
288 475 30 cachedToUncached Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
289 475 31 getCost Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
292 315 32 message Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;
293 315 34 execute Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
301 315 35 pushEncapsulating Z
307 308 36 var Ljavax/lang/model/element/VariableElement;
319 475 32 uncachedDispatch Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
323 337 33 message Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;
324 337 35 execute Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
334 335 36 var Ljavax/lang/model/element/VariableElement;
340 475 33 isAdoptable Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
343 475 34 cachedDispatch Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
344 475 35 getLimit Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
345 475 36 libraryVar Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
347 475 37 nextField Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
351 377 38 message Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;
352 377 40 execute Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
367 368 41 var Ljavax/lang/model/element/VariableElement;
380 475 38 cachedDispatchNext Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
382 475 39 getLimitNext Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
387 475 40 nodeCost Ljavax/lang/model/type/DeclaredType;
390 475 41 execute Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
424 475 42 cachedDispatchFirst Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
425 475 43 limit Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
427 475 44 getLimitFirst Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
446 475 45 createCachedDispatch Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
455 475 46 createUncachedDispatch Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
459 475 47 implConstructor Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
467 469 48 message Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;
Signature: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/AnnotationProcessor<*>;Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Ljava/util/List<Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;>;
MethodParameters:
Name Flags
context1
processor
model1
private javax.lang.model.type.TypeMirror[] createDefaultImpl(com.oracle.truffle.dsl.processor.java.model.CodeTypeElement);
descriptor: (Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)[Ljavax/lang/model/type/TypeMirror;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getObjectExports:()Lcom/oracle/truffle/dsl/processor/library/ExportsLibrary;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: com.oracle.truffle.dsl.processor.library.ExportsLibrary
StackMap stack:
new com.oracle.truffle.dsl.processor.library.ExportsGenerator
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.libraryConstants:Ljava/util/Map;
invokespecial com.oracle.truffle.dsl.processor.library.ExportsGenerator.<init>:(Ljava/util/Map;)V
astore 3
start local 3 4: aload 2
invokevirtual com.oracle.truffle.dsl.processor.library.ExportsLibrary.getExportedMessages:()Ljava/util/Map;
astore 4
start local 4 5: aload 3
aload 2
aload 4
invokevirtual com.oracle.truffle.dsl.processor.library.ExportsGenerator.createUncached:(Lcom/oracle/truffle/dsl/processor/library/ExportsLibrary;Ljava/util/Map;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 5
start local 5 6: aload 3
aload 2
aload 4
invokevirtual com.oracle.truffle.dsl.processor.library.ExportsGenerator.createCached:(Lcom/oracle/truffle/dsl/processor/library/ExportsLibrary;Ljava/util/Map;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 6
start local 6 7: aload 3
aload 2
aload 4
ldc "Default"
aload 6
aload 5
invokevirtual com.oracle.truffle.dsl.processor.library.ExportsGenerator.createResolvedExports:(Lcom/oracle/truffle/dsl/processor/library/ExportsLibrary;Ljava/util/Map;Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 7
start local 7 8: aload 7
aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
9: aload 7
aload 5
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
10: aload 1
aload 7
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
11: iconst_2
anewarray javax.lang.model.type.TypeMirror
dup
iconst_0
aload 2
invokevirtual com.oracle.truffle.dsl.processor.library.ExportsLibrary.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
aastore
dup
iconst_1
aload 7
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
aastore
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 12 0 this Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator;
0 12 1 genClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
1 12 2 defaultExportsLibrary Lcom/oracle/truffle/dsl/processor/library/ExportsLibrary;
4 12 3 exportGenerator Lcom/oracle/truffle/dsl/processor/library/ExportsGenerator;
5 12 4 messages Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/library/ExportMessageData;>;
6 12 5 uncachedClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
7 12 6 cacheClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
8 12 7 resolvedExports Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
MethodParameters:
Name Flags
genClass
static com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror createSuppressWarningsUnchecked(com.oracle.truffle.dsl.processor.ProcessorContext);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;)Lcom/oracle/truffle/dsl/processor/java/model/CodeAnnotationMirror;
flags: (0x0008) ACC_STATIC
Code:
stack=10, locals=2, args_size=1
start local 0 0: new com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror
dup
aload 0
ldc Ljava/lang/SuppressWarnings;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getDeclaredType:(Ljava/lang/Class;)Ljavax/lang/model/type/DeclaredType;
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror.<init>:(Ljavax/lang/model/type/DeclaredType;)V
astore 1
start local 1 1: aload 1
aload 1
ldc "value"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror.findExecutableElement:(Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
new com.oracle.truffle.dsl.processor.java.model.CodeAnnotationValue
dup
iconst_1
anewarray com.oracle.truffle.dsl.processor.java.model.CodeAnnotationValue
dup
iconst_0
new com.oracle.truffle.dsl.processor.java.model.CodeAnnotationValue
dup
ldc "unchecked"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeAnnotationValue.<init>:(Ljava/lang/Object;)V
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeAnnotationValue.<init>:(Ljava/lang/Object;)V
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror.setElementValue:(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/AnnotationValue;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
1 3 1 suppressWarnings Lcom/oracle/truffle/dsl/processor/java/model/CodeAnnotationMirror;
MethodParameters:
Name Flags
context
private com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement createGenericCastMethod(com.oracle.truffle.dsl.processor.library.LibraryData);
descriptor: (Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.isDynamicDispatch:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.DynamicDispatchLibrary:Ljavax/lang/model/type/DeclaredType;
ldc "cast"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findMethod:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.cloneNoAnnotations:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 3
start local 3 3: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
4: aload 3
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "receiver"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
5: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 2
start local 2 6: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "receiver"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator;
0 8 1 library Lcom/oracle/truffle/dsl/processor/library/LibraryData;
6 8 2 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
3 8 3 castMethod Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
MethodParameters:
Name Flags
library
private com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement createDelegateCastMethod(com.oracle.truffle.dsl.processor.library.LibraryData);
descriptor: (Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.isDynamicDispatch:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.DynamicDispatchLibrary:Ljavax/lang/model/type/DeclaredType;
ldc "cast"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findMethod:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.cloneNoAnnotations:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 3
start local 3 3: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
4: aload 3
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "receiver"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
5: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 2
start local 2 6: aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "delegateLibrary.cast(receiver)"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator;
0 8 1 library Lcom/oracle/truffle/dsl/processor/library/LibraryData;
6 8 2 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
3 8 3 castMethod Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
MethodParameters:
Name Flags
library
private static void injectReceiverType(com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement, int, javax.lang.model.type.TypeMirror);
descriptor: (Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;ILjavax/lang/model/type/TypeMirror;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
getstatic javax.lang.model.type.TypeKind.TYPEVAR:Ljavax/lang/model/type/TypeKind;
if_acmpne 13
6: aload 0
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getTypeParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeVariableElement javax.lang.model.element.TypeParameterElement int top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.TypeParameterElement
astore 6
start local 6 8: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
checkcast javax.lang.model.type.TypeVariable
invokeinterface javax.lang.model.type.TypeVariable.asElement:()Ljavax/lang/model/element/Element;
aload 6
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.elementEquals:(Ljavax/lang/model/element/Element;Ljavax/lang/model/element/Element;)Z
ifeq 11
9: aload 6
astore 4
10: goto 13
11: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeVariableElement javax.lang.model.element.TypeParameterElement int javax.lang.model.element.TypeParameterElement java.util.Iterator
StackMap stack:
iinc 5 1
end local 6 12: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeVariableElement javax.lang.model.element.TypeParameterElement int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
13: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int javax.lang.model.type.TypeMirror com.oracle.truffle.dsl.processor.java.model.CodeVariableElement javax.lang.model.element.TypeParameterElement int
StackMap stack:
aload 4
ifnull 18
14: new com.oracle.truffle.dsl.processor.java.model.CodeTypeParameterElement
dup
aload 4
invokeinterface javax.lang.model.element.TypeParameterElement.getSimpleName:()Ljavax/lang/model/element/Name;
iconst_0
anewarray javax.lang.model.type.TypeMirror
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeTypeParameterElement.<init>:(Ljavax/lang/model/element/Name;[Ljavax/lang/model/type/TypeMirror;)V
astore 6
start local 6 15: aload 6
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeParameterElement.getBounds:()Ljava/util/List;
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: aload 0
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getTypeParameters:()Ljava/util/List;
iload 5
aload 6
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 6 17: goto 19
18: StackMap locals:
StackMap stack:
aload 3
aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.setType:(Ljavax/lang/model/type/TypeMirror;)V
19: StackMap locals:
StackMap stack:
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 20 0 method Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
0 20 1 receiverIndex I
0 20 2 type Ljavax/lang/model/type/TypeMirror;
3 20 3 receiverParameter Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
4 20 4 foundParameter Ljavax/lang/model/element/TypeParameterElement;
5 20 5 foundIndex I
8 12 6 typeParameter Ljavax/lang/model/element/TypeParameterElement;
15 17 6 newParameter Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeParameterElement;
MethodParameters:
Name Flags
method
receiverIndex
type
private static void removeAbstractModifiers(com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement);
descriptor: (Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.DEFAULT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 uncachedImpl Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
MethodParameters:
Name Flags
uncachedImpl
private static java.lang.String createConstantName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 13
4: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 5: iload 4
invokestatic java.lang.Character.isUpperCase:(C)Z
ifeq 10
6: iload 2
ifeq 8
7: aload 1
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: StackMap locals: int
StackMap stack:
aload 1
iload 4
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: goto 12
10: StackMap locals:
StackMap stack:
iconst_1
istore 2
11: aload 1
iload 4
invokestatic java.lang.Character.toUpperCase:(C)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 4 12: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 4
end local 3 14: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 name Ljava/lang/String;
1 15 1 newName Ljava/lang/StringBuilder;
2 15 2 wasLowerCase Z
3 14 3 i I
5 12 4 c C
MethodParameters:
Name Flags
name
private com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror createExplodeLoop();
descriptor: ()Lcom/oracle/truffle/dsl/processor/java/model/CodeAnnotationMirror;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.ExplodeLoop:Ljavax/lang/model/type/DeclaredType;
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror.<init>:(Ljavax/lang/model/type/DeclaredType;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator;
private com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement createGenericDispatch(java.util.List<com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects>, com.oracle.truffle.dsl.processor.java.model.CodeTypeElement);
descriptor: (Ljava/util/List;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.LibraryFactory:Ljavax/lang/model/type/DeclaredType;
ldc "genericDispatch"
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.override:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 4
start local 4 1: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
iconst_0
new com.oracle.truffle.dsl.processor.java.model.CodeVariableElement
dup
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Library:Ljavax/lang/model/type/DeclaredType;
ldc "library"
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
2: aload 4
iconst_5
anewarray java.lang.String
dup
iconst_0
ldc "originalLib"
aastore
dup
iconst_1
ldc "receiver"
aastore
dup
iconst_2
ldc "message"
aastore
dup
iconst_3
ldc "args"
aastore
dup
iconst_4
ldc "offset"
aastore
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.renameArguments:([Ljava/lang/String;)V
3: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
4: aload 4
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 3
start local 3 5: aload 3
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
ldc "lib"
aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.create:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.cast:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "originalLib"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.declaration:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
6: aload 3
aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
ldc "messageImpl"
aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.create:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.cast:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "message"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.build:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.declaration:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
7: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "messageImpl.getParameterCount() - 1 != args.length - offset"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
8: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.types:Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.CompilerDirectives:Ljavax/lang/model/type/DeclaredType;
ldc "transferToInterpreterAndInvalidate"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
9: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startThrow:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/IllegalArgumentException;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "Invalid number of arguments."
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.doubleQuote:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
10: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
11: iconst_0
istore 5
start local 5 12: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startSwitch:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "messageImpl.index"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
13: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 53
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int top java.util.Iterator
StackMap stack:
14: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects
astore 6
start local 6 15: aload 6
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getName:()Ljava/lang/String;
ldc "accepts"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
16: goto 53
17: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCase:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
18: aload 3
aload 6
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.messageIndex:I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
19: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIndention:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
20: aload 6
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getExecutable:()Ljavax/lang/model/element/ExecutableElement;
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isVoid:(Ljavax/lang/model/type/TypeMirror;)Z
ifeq 23
21: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
22: goto 24
23: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
24: StackMap locals:
StackMap stack:
aload 3
ldc "lib"
aload 6
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
25: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
26: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Object;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getSignatureReceiverType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 30
27: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getSignatureReceiverType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.hasGenericTypes:(Ljavax/lang/model/type/TypeMirror;)Z
ifeq 29
28: iconst_1
istore 5
29: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.model:Lcom/oracle/truffle/dsl/processor/library/LibraryData;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getSignatureReceiverType:()Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.cast:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
30: StackMap locals:
StackMap stack:
aload 3
ldc "receiver"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
31: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
32: iconst_0
istore 8
start local 8 33: aload 6
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getExecutable:()Ljavax/lang/model/element/ExecutableElement;
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
astore 9
start local 9 34: aload 9
iconst_1
aload 9
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 48
StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator int java.util.List top java.util.Iterator
StackMap stack:
35: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 10
start local 10 36: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
37: aload 10
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
astore 12
start local 12 38: aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/Object;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
aload 12
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 42
39: aload 12
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.hasGenericTypes:(Ljavax/lang/model/type/TypeMirror;)Z
ifeq 41
40: iconst_1
istore 5
41: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator int java.util.List javax.lang.model.element.VariableElement java.util.Iterator javax.lang.model.type.TypeMirror
StackMap stack:
aload 3
aload 12
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.cast:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
42: StackMap locals:
StackMap stack:
iload 8
ifne 45
43: aload 3
ldc "args[offset]"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
44: goto 46
45: StackMap locals:
StackMap stack:
aload 3
ldc "args[offset + "
iload 8
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
ldc "]"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
46: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
47: iinc 8 1
end local 12 end local 10 48: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator int java.util.List top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 35
49: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
50: aload 6
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects.model:Lcom/oracle/truffle/dsl/processor/library/LibraryMessage;
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryMessage.getExecutable:()Ljavax/lang/model/element/ExecutableElement;
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isVoid:(Ljavax/lang/model/type/TypeMirror;)Z
ifeq 52
51: aload 3
ldc "return null"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
52: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects java.util.Iterator int java.util.List
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
end local 9 end local 8 end local 6 53: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
54: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
55: aload 3
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createTransferToInterpreterAndInvalidate:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
56: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startThrow:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 0
getfield com.oracle.truffle.dsl.processor.library.LibraryGenerator.context:Lcom/oracle/truffle/dsl/processor/ProcessorContext;
ldc Ljava/lang/AbstractMethodError;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "message.toString()"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
57: iload 5
ifeq 59
58: aload 4
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "unchecked"
aastore
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.mergeSupressWarnings:(Lcom/oracle/truffle/dsl/processor/java/model/CodeElement;[Ljava/lang/String;)V
59: StackMap locals: com.oracle.truffle.dsl.processor.library.LibraryGenerator java.util.List com.oracle.truffle.dsl.processor.java.model.CodeTypeElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement int
StackMap stack:
aload 4
areturn
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 60 0 this Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator;
0 60 1 methods Ljava/util/List<Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;>;
0 60 2 messageClass Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
5 60 3 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
1 60 4 reflectionGenericDispatch Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
12 60 5 uncheckedCast Z
15 53 6 message Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;
33 53 8 argumentIndex I
34 53 9 parameters Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
36 48 10 parameter Ljavax/lang/model/element/VariableElement;
38 48 12 type Ljavax/lang/model/type/TypeMirror;
Signature: (Ljava/util/List<Lcom/oracle/truffle/dsl/processor/library/LibraryGenerator$MessageObjects;>;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
MethodParameters:
Name Flags
methods
messageClass
static java.lang.String createGenTypeName(com.oracle.truffle.dsl.processor.library.LibraryData);
descriptor: (Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryData.getTemplateType:()Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.firstLetterUpperCase:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Gen"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Lcom/oracle/truffle/dsl/processor/library/LibraryData;
MethodParameters:
Name Flags
type
public java.util.List create(com.oracle.truffle.dsl.processor.ProcessorContext, com.oracle.truffle.dsl.processor.AnnotationProcessor, java.lang.Object);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Ljava/lang/Object;)Ljava/util/List;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
aload 3
checkcast com.oracle.truffle.dsl.processor.library.LibraryData
invokevirtual com.oracle.truffle.dsl.processor.library.LibraryGenerator.create:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/AnnotationProcessor;Lcom/oracle/truffle/dsl/processor/library/LibraryData;)Ljava/util/List;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lcom/oracle/truffle/dsl/processor/generator/CodeTypeElementFactory<Lcom/oracle/truffle/dsl/processor/library/LibraryData;>;
SourceFile: "LibraryGenerator.java"
NestMembers:
com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects
InnerClasses:
public DeclaredCodeTypeMirror = com.oracle.truffle.dsl.processor.java.model.CodeTypeMirror$DeclaredCodeTypeMirror of com.oracle.truffle.dsl.processor.java.model.CodeTypeMirror
MessageObjects = com.oracle.truffle.dsl.processor.library.LibraryGenerator$MessageObjects of com.oracle.truffle.dsl.processor.library.LibraryGenerator