public final class com.oracle.truffle.dsl.processor.InstrumentableProcessor extends javax.annotation.processing.AbstractProcessor
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.dsl.processor.InstrumentableProcessor
super_class: javax.annotation.processing.AbstractProcessor
{
private static final java.lang.String CLASS_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Wrapper"
private static final java.lang.String EXECUTE_METHOD_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "execute"
private static final java.lang.String CONSTANT_REENTER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ProbeNode.UNWIND_ACTION_REENTER"
private static final java.lang.String METHOD_GET_NODE_COST;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "getCost"
private static final java.lang.String METHOD_ON_RETURN_EXCEPTIONAL_OR_UNWIND;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "onReturnExceptionalOrUnwind"
private static final java.lang.String METHOD_ON_RETURN_VALUE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "onReturnValue"
private static final java.lang.String METHOD_ON_ENTER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "onEnter"
private static final java.lang.String FIELD_DELEGATE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "delegateNode"
private static final java.lang.String FIELD_PROBE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "probeNode"
private static final java.lang.String VAR_RETURN_CALLED;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "wasOnReturnExecuted"
private static final java.lang.String CREATE_WRAPPER_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "createWrapper"
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial javax.annotation.processing.AbstractProcessor.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/InstrumentableProcessor;
public javax.lang.model.SourceVersion getSupportedSourceVersion();
descriptor: ()Ljavax/lang/model/SourceVersion;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic javax.lang.model.SourceVersion.latest:()Ljavax/lang/model/SourceVersion;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/InstrumentableProcessor;
public boolean process(java.util.Set<? extends javax.lang.model.element.TypeElement>, javax.annotation.processing.RoundEnvironment);
descriptor: (Ljava/util/Set;Ljavax/annotation/processing/RoundEnvironment;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface javax.annotation.processing.RoundEnvironment.processingOver:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.InstrumentableProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.enter:(Ljavax/annotation/processing/ProcessingEnvironment;)Lcom/oracle/truffle/dsl/processor/ProcessorContext;
astore 3
start local 3 3: aload 3
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypes:()Lcom/oracle/truffle/dsl/processor/TruffleTypes;
astore 4
start local 4 4: aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.InstrumentableNode:Ljavax/lang/model/type/DeclaredType;
astore 5
start local 5 5: aload 5
ldc "createWrapper"
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findExecutableElement:(Ljavax/lang/model/type/DeclaredType;Ljava/lang/String;)Ljavax/lang/model/element/ExecutableElement;
astore 6
start local 6 6: aload 2
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.castTypeElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/TypeElement;
invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 60
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor java.util.Set javax.annotation.processing.RoundEnvironment com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.type.DeclaredType javax.lang.model.element.ExecutableElement top java.util.Iterator
StackMap stack:
7: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 7
start local 7 8: aload 7
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
invokevirtual javax.lang.model.element.ElementKind.isClass:()Z
ifne 10
aload 7
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
invokevirtual javax.lang.model.element.ElementKind.isInterface:()Z
ifne 10
9: goto 60
10: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor java.util.Set javax.annotation.processing.RoundEnvironment com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.type.DeclaredType javax.lang.model.element.ExecutableElement javax.lang.model.element.Element java.util.Iterator
StackMap stack:
aload 7
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getPackageName:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
astore 9
start local 9 11: aload 9
ifnull 13
aload 9
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getPackageName:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: goto 60
13: StackMap locals: java.lang.String
StackMap stack:
aload 7
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
if_acmpeq 16
14: aload 0
aload 7
ldc "Only classes can be annotated with %s."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
15: goto 60
16: StackMap locals:
StackMap stack:
aload 6
ifnonnull 19
17: aload 0
aload 7
ldc "Fatal %s.%s not found."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.InstrumentableNode:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
dup
iconst_1
ldc "createWrapper"
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
18: goto 60
19: StackMap locals:
StackMap stack:
aload 7
invokeinterface javax.lang.model.element.Element.asType:()Ljavax/lang/model/type/TypeMirror;
aload 5
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isAssignable:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 24
20: aload 0
aload 7
ldc "Classes annotated with @%s must implement %s."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
dup
iconst_1
21: aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.InstrumentableNode:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
aastore
22: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
23: goto 60
24: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 25: aload 7
invokeinterface javax.lang.model.element.Element.getEnclosedElements:()Ljava/util/List;
invokestatic javax.lang.model.util.ElementFilter.methodsIn:(Ljava/lang/Iterable;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 30
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor java.util.Set javax.annotation.processing.RoundEnvironment com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.type.DeclaredType javax.lang.model.element.ExecutableElement javax.lang.model.element.Element java.util.Iterator java.lang.String int top java.util.Iterator
StackMap stack:
26: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 11
start local 11 27: aload 11
aload 6
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.signatureEquals:(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/ExecutableElement;)Z
ifeq 30
28: iconst_1
istore 10
29: goto 31
end local 11 30: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
31: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor java.util.Set javax.annotation.processing.RoundEnvironment com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.type.DeclaredType javax.lang.model.element.ExecutableElement javax.lang.model.element.Element java.util.Iterator java.lang.String int
StackMap stack:
iload 10
ifne 42
32: aload 0
aload 7
ldc "Classes annotated with @%s must declare/override %s.%s and return a new instance of the generated wrapper class called %s. You may copy the following generated implementation: %n @Override public %s createWrapper(%s probeNode) {%n return new %s(this, probeNode);%n }"
bipush 7
anewarray java.lang.Object
dup
iconst_0
33: aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
dup
iconst_1
34: aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.InstrumentableNode:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
dup
iconst_2
35: ldc "createWrapper"
aastore
dup
iconst_3
36: aload 7
checkcast javax.lang.model.element.TypeElement
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.createWrapperClassName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
aastore
dup
iconst_4
37: aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.InstrumentableNode_WrapperNode:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
dup
iconst_5
38: aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.ProbeNode:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
dup
bipush 6
39: aload 7
checkcast javax.lang.model.element.TypeElement
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.createWrapperClassName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
aastore
40: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
41: goto 60
42: StackMap locals:
StackMap stack:
aload 7
invokeinterface javax.lang.model.element.Element.asType:()Ljavax/lang/model/type/TypeMirror;
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isAssignable:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 47
43: aload 0
aload 7
ldc "Classes annotated with @%s must extend %s."
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
dup
iconst_1
44: aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.Node:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
45: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
46: goto 60
end local 10 47: StackMap locals:
StackMap stack:
aload 7
invokeinterface javax.lang.model.element.Element.getAnnotationMirrors:()Ljava/util/List;
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findAnnotationMirror:(Ljava/util/List;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
astore 10
start local 10 48: aload 10
ifnonnull 50
49: goto 60
50: StackMap locals: javax.lang.model.element.AnnotationMirror
StackMap stack:
aload 0
aload 3
aload 7
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.generateWrapperOnly:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/element/Element;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 11
start local 11 51: aload 11
ifnonnull 53
52: goto 60
53: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
StackMap stack:
aload 3
ldc Ljava/lang/Override;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
checkcast javax.lang.model.type.DeclaredType
astore 12
start local 12 54: aload 11
new com.oracle.truffle.dsl.processor.java.transform.GenerateOverrideVisitor
dup
aload 12
invokespecial com.oracle.truffle.dsl.processor.java.transform.GenerateOverrideVisitor.<init>:(Ljavax/lang/model/type/DeclaredType;)V
aconst_null
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.accept:(Ljavax/lang/model/element/ElementVisitor;Ljava/lang/Object;)Ljava/lang/Object;
pop
55: aload 11
new com.oracle.truffle.dsl.processor.java.transform.FixWarningsVisitor
dup
aload 7
aload 12
invokespecial com.oracle.truffle.dsl.processor.java.transform.FixWarningsVisitor.<init>:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/DeclaredType;)V
aconst_null
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.accept:(Ljavax/lang/model/element/ElementVisitor;Ljava/lang/Object;)Ljava/lang/Object;
pop
56: aload 11
new com.oracle.truffle.dsl.processor.CodeWriter
dup
aload 3
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
aload 7
invokespecial com.oracle.truffle.dsl.processor.CodeWriter.<init>:(Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;)V
aconst_null
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.accept:(Ljavax/lang/model/element/ElementVisitor;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 end local 11 end local 10 57: goto 60
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor java.util.Set javax.annotation.processing.RoundEnvironment com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.type.DeclaredType javax.lang.model.element.ExecutableElement javax.lang.model.element.Element java.util.Iterator java.lang.String
StackMap stack: java.lang.Throwable
58: astore 10
start local 10 59: aload 0
aload 10
aload 7
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.handleThrowable:(Ljava/lang/Throwable;Ljavax/lang/model/element/Element;)V
end local 10 end local 9 end local 7 60: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor java.util.Set javax.annotation.processing.RoundEnvironment com.oracle.truffle.dsl.processor.ProcessorContext com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.type.DeclaredType javax.lang.model.element.ExecutableElement top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
61: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.leave:()V
62: iconst_1
ireturn
end local 6 end local 5 end local 4 63: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor java.util.Set javax.annotation.processing.RoundEnvironment com.oracle.truffle.dsl.processor.ProcessorContext
StackMap stack: java.lang.Throwable
astore 13
64: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.leave:()V
65: aload 13
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 66 0 this Lcom/oracle/truffle/dsl/processor/InstrumentableProcessor;
0 66 1 annotations Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
0 66 2 roundEnv Ljavax/annotation/processing/RoundEnvironment;
3 66 3 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
4 63 4 types Lcom/oracle/truffle/dsl/processor/TruffleTypes;
5 63 5 instrumentableNode Ljavax/lang/model/type/DeclaredType;
6 63 6 createWrapper Ljavax/lang/model/element/ExecutableElement;
8 60 7 element Ljavax/lang/model/element/Element;
11 60 9 packageName Ljava/lang/String;
25 47 10 createWrapperFound Z
27 30 11 declaredMethod Ljavax/lang/model/element/ExecutableElement;
48 57 10 generateWrapperMirror Ljavax/lang/model/element/AnnotationMirror;
51 57 11 unit Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
54 57 12 overrideType Ljavax/lang/model/type/DeclaredType;
59 60 10 e Ljava/lang/Throwable;
Exception table:
from to target type
13 15 58 Class java.lang.Throwable
16 18 58 Class java.lang.Throwable
19 23 58 Class java.lang.Throwable
24 41 58 Class java.lang.Throwable
42 46 58 Class java.lang.Throwable
47 49 58 Class java.lang.Throwable
50 52 58 Class java.lang.Throwable
53 57 58 Class java.lang.Throwable
3 61 63 any
Signature: (Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;Ljavax/annotation/processing/RoundEnvironment;)Z
MethodParameters:
Name Flags
annotations
roundEnv
private void handleThrowable(java.lang.Throwable, javax.lang.model.element.Element);
descriptor: (Ljava/lang/Throwable;Ljavax/lang/model/element/Element;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
ldc "Uncaught error in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " while processing "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 1: invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.getInstance:()Lcom/oracle/truffle/dsl/processor/ProcessorContext;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.printException:(Ljava/lang/Throwable;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/dsl/processor/InstrumentableProcessor;
0 3 1 t Ljava/lang/Throwable;
0 3 2 e Ljavax/lang/model/element/Element;
1 3 3 message Ljava/lang/String;
MethodParameters:
Name Flags
t
e
private com.oracle.truffle.dsl.processor.java.model.CodeTypeElement generateWrapperOnly(com.oracle.truffle.dsl.processor.ProcessorContext, javax.lang.model.element.Element);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/element/Element;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.generateWrapper:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/element/Element;Z)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.assertNoErrorExpected:(Ljavax/lang/model/element/Element;)V
4: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/dsl/processor/InstrumentableProcessor;
0 5 1 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 5 2 e Ljavax/lang/model/element/Element;
1 5 3 wrapper Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
MethodParameters:
Name Flags
context
e
private static java.lang.String createWrapperClassName(javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Wrapper"
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 sourceType Ljavax/lang/model/element/TypeElement;
MethodParameters:
Name Flags
sourceType
private static boolean hasUnexpectedResult(com.oracle.truffle.dsl.processor.ProcessorContext, javax.lang.model.element.ExecutableElement);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/element/ExecutableElement;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypes:()Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.UnexpectedResultException:Ljavax/lang/model/type/DeclaredType;
astore 2
start local 2 1: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getThrownTypes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.ExecutableElement javax.lang.model.type.TypeMirror top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
astore 3
start local 3 3: aload 3
aload 2
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifeq 5
4: iconst_1
ireturn
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 7 1 element Ljavax/lang/model/element/ExecutableElement;
1 7 2 unexpectedResult Ljavax/lang/model/type/TypeMirror;
3 5 3 thrownType Ljavax/lang/model/type/TypeMirror;
MethodParameters:
Name Flags
context
element
private com.oracle.truffle.dsl.processor.java.model.CodeTypeElement generateWrapper(com.oracle.truffle.dsl.processor.ProcessorContext, javax.lang.model.element.Element, boolean);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/element/Element;Z)Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=35, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
invokevirtual javax.lang.model.element.ElementKind.isClass:()Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokeinterface javax.lang.model.element.Element.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 5
3: aload 0
aload 2
ldc "Class must not be private to generate a wrapper."
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 2
invokeinterface javax.lang.model.element.Element.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 8
6: aload 0
aload 2
ldc "Class must not be final to generate a wrapper."
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 2
invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.PACKAGE:Ljavax/lang/model/element/ElementKind;
if_acmpeq 11
aload 2
invokeinterface javax.lang.model.element.Element.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 11
9: aload 0
aload 2
ldc "Inner class must be static to generate a wrapper."
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
10: aconst_null
areturn
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypes:()Lcom/oracle/truffle/dsl/processor/TruffleTypes;
astore 4
start local 4 12: aload 2
checkcast javax.lang.model.element.TypeElement
astore 5
start local 5 13: aconst_null
astore 6
start local 6 14: aload 2
invokeinterface javax.lang.model.element.Element.getEnclosedElements:()Ljava/util/List;
invokestatic javax.lang.model.util.ElementFilter.constructorsIn:(Ljava/lang/Iterable;)Ljava/util/List;
astore 7
start local 7 15: aload 7
invokeinterface java.util.List.isEmpty:()Z
ifeq 17
16: aload 7
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.PUBLIC: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 2
invokeinterface javax.lang.model.element.Element.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
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List
StackMap stack:
aload 7
invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
astore 8
start local 8 18: goto 27
19: StackMap locals: java.util.ListIterator
StackMap stack:
aload 8
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 9
start local 9 20: aload 9
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getVisibility:(Ljava/util/Set;)Ljavax/lang/model/element/Modifier;
astore 10
start local 10 21: aload 10
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
if_acmpne 24
22: aload 8
invokeinterface java.util.ListIterator.remove:()V
23: goto 27
24: StackMap locals: javax.lang.model.element.ExecutableElement javax.lang.model.element.Modifier
StackMap stack:
aload 9
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 27
25: aload 9
astore 6
26: goto 28
end local 10 end local 9 27: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 19
end local 8 28: StackMap locals:
StackMap stack:
aload 6
ifnonnull 36
29: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 35
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List top java.util.Iterator
StackMap stack:
30: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 8
start local 8 31: aload 8
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 10
start local 10 32: aload 10
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
aload 5
invokeinterface javax.lang.model.element.TypeElement.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 35
33: aload 8
astore 6
34: goto 36
end local 10 end local 8 35: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
36: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List
StackMap stack:
aload 6
ifnonnull 44
37: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 43
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List top java.util.Iterator
StackMap stack:
38: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 8
start local 8 39: aload 8
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 10
start local 10 40: aload 10
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.SourceSection:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifeq 43
41: aload 8
astore 6
42: goto 44
end local 10 end local 8 43: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
44: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List
StackMap stack:
aload 6
ifnonnull 47
45: aload 0
aload 5
ldc "No suiteable constructor found for wrapper factory generation. At least one default or copy constructor must be visible."
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
46: aconst_null
areturn
47: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
aload 5
invokeinterface javax.lang.model.util.Elements.getPackageOf:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/PackageElement;
astore 8
start local 8 48: aload 5
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.createWrapperClassName:(Ljavax/lang/model/element/TypeElement;)Ljava/lang/String;
astore 10
start local 10 49: iload 3
ifeq 52
50: 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;
astore 9
start local 9 51: goto 54
end local 9 52: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement top java.lang.String
StackMap stack:
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;
astore 9
start local 9 53: new java.lang.StringBuilder
dup
aload 10
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "0"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
54: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String
StackMap stack:
new com.oracle.truffle.dsl.processor.java.model.CodeTypeElement
dup
aload 9
getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
aload 8
aload 10
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.<init>:(Ljava/util/Set;Ljavax/lang/model/element/ElementKind;Ljavax/lang/model/element/PackageElement;Ljava/lang/String;)V
astore 11
start local 11 55: aload 5
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
astore 12
start local 12 56: aload 11
aload 12
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.setSuperClass:(Ljavax/lang/model/type/TypeMirror;)V
57: aload 11
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getImplements:()Ljava/util/List;
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.InstrumentableNode_WrapperNode:Ljavax/lang/model/type/DeclaredType;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
58: aload 1
aload 11
aload 5
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.addGeneratedBy:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;Ljavax/lang/model/element/TypeElement;)V
59: aload 11
aload 1
aload 5
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
ldc "delegateNode"
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.createNodeChild:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
60: aload 11
aload 1
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.ProbeNode:Ljavax/lang/model/type/DeclaredType;
ldc "probeNode"
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.createNodeChild:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
61: iload 3
ifeq 64
62: 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;
astore 13
start local 13 63: goto 65
end local 13 64: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror
StackMap stack:
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;
astore 13
start local 13 65: StackMap locals: java.util.Set
StackMap stack:
aload 13
aload 11
aload 6
invokestatic com.oracle.truffle.dsl.processor.generator.GeneratorUtils.createConstructorUsingFields:(Ljava/util/Set;Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
astore 14
start local 14 66: aload 11
aload 14
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
67: aload 11
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.getFields:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 16
goto 74
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement top java.util.Iterator
StackMap stack:
68: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 15
start local 15 69: 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.PUBLIC:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 15
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
new java.lang.StringBuilder
dup
ldc "get"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
70: aload 15
invokeinterface javax.lang.model.element.VariableElement.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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
71: 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 17
start local 17 72: aload 17
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 15
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;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
73: aload 11
aload 17
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
end local 17 end local 15 74: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 68
75: aload 5
ldc "getCost"
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.isOverrideableOrUndeclared:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Z
ifeq 80
76: aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.NodeCost:Ljavax/lang/model/type/DeclaredType;
astore 15
start local 15 77: 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.PUBLIC:Ljavax/lang/model/element/Modifier;
aastore
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.modifiers:([Ljavax/lang/model/element/Modifier;)Ljava/util/Set;
aload 15
ldc "getCost"
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 16
start local 16 78: aload 16
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 15
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
79: aload 11
aload 16
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
end local 16 end local 15 80: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 15
start local 15 81: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 16
start local 16 82: aload 1
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
aload 5
invokeinterface javax.lang.model.util.Elements.getAllMembers:(Ljavax/lang/model/element/TypeElement;)Ljava/util/List;
astore 17
start local 17 83: aconst_null
astore 18
start local 18 84: aload 17
invokestatic javax.lang.model.util.ElementFilter.methodsIn:(Ljava/lang/Iterable;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 20
goto 95
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement top java.util.Iterator
StackMap stack:
85: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 19
start local 19 86: aload 19
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.isExecuteMethod:(Ljavax/lang/model/element/ExecutableElement;)Z
ifeq 95
aload 19
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.isOverridable:(Ljavax/lang/model/element/ExecutableElement;)Z
ifeq 95
87: aload 19
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 88
aconst_null
goto 89
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.Iterator
StackMap stack:
88: aload 19
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
StackMap locals:
StackMap stack: javax.lang.model.element.VariableElement
89: astore 21
start local 21 90: iload 3
ifeq 93
aload 21
ifnull 91
aload 21
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.VirtualFrame:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isAssignable:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 93
91: StackMap locals: javax.lang.model.element.VariableElement
StackMap stack:
aload 0
aload 2
ldc "Wrapped execute method %s must have VirtualFrame as first parameter."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 19
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
92: aconst_null
areturn
93: StackMap locals:
StackMap stack:
aload 19
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isObject:(Ljavax/lang/model/type/TypeMirror;)Z
ifeq 95
aload 19
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 95
aload 18
ifnonnull 95
94: aload 19
astore 18
end local 21 end local 19 95: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement top java.util.Iterator
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 85
96: aload 17
invokestatic javax.lang.model.util.ElementFilter.methodsIn:(Ljava/lang/Iterable;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 20
goto 107
StackMap locals:
StackMap stack:
97: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 19
start local 19 98: aload 19
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.isOverridable:(Ljavax/lang/model/element/ExecutableElement;)Z
ifne 100
99: goto 107
100: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.Iterator
StackMap stack:
aload 19
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 21
start local 21 101: aload 21
ldc "execute"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 104
102: aload 16
aload 19
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
103: goto 107
104: StackMap locals: java.lang.String
StackMap stack:
aload 19
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 107
aload 21
ldc "getSourceSection"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 107
105: aload 21
ldc "getCost"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 107
aload 1
aload 19
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.hasUnexpectedResult:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/element/ExecutableElement;)Z
ifne 107
106: aload 15
aload 19
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 21 end local 19 107: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement top java.util.Iterator
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 97
108: aconst_null
astore 19
start local 19 109: aconst_null
astore 20
start local 20 110: aload 17
invokestatic javax.lang.model.util.ElementFilter.methodsIn:(Ljava/lang/Iterable;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 22
goto 128
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement top java.util.Iterator
StackMap stack:
111: aload 22
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 21
start local 21 112: aload 21
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper_IncomingConverter:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findAnnotationMirror:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
astore 23
start local 23 113: aload 21
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper_OutgoingConverter:Ljavax/lang/model/type/DeclaredType;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findAnnotationMirror:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
astore 24
start local 24 114: aload 23
ifnull 121
115: aload 19
ifnull 118
116: aload 0
aload 5
ldc "Only one @%s method allowed, found multiple."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper_IncomingConverter:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
117: aconst_null
areturn
118: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.Iterator javax.lang.model.element.AnnotationMirror javax.lang.model.element.AnnotationMirror
StackMap stack:
aload 0
aload 21
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper_IncomingConverter:Ljavax/lang/model/type/DeclaredType;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.verifyConverter:(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/type/DeclaredType;)Z
ifne 120
119: goto 128
120: StackMap locals:
StackMap stack:
aload 21
astore 19
121: StackMap locals:
StackMap stack:
aload 24
ifnull 128
122: aload 20
ifnull 125
123: aload 0
aload 5
ldc "Only one @%s method allowed, found multiple."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper_OutgoingConverter:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
124: aconst_null
areturn
125: StackMap locals:
StackMap stack:
aload 0
aload 21
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.GenerateWrapper_OutgoingConverter:Ljavax/lang/model/type/DeclaredType;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.verifyConverter:(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/type/DeclaredType;)Z
ifne 127
126: goto 128
127: StackMap locals:
StackMap stack:
aload 21
astore 20
end local 24 end local 23 end local 21 128: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement top java.util.Iterator
StackMap stack:
aload 22
invokeinterface java.util.Iterator.hasNext:()Z
ifne 111
129: aload 16
invokeinterface java.util.List.isEmpty:()Z
ifeq 132
130: aload 0
aload 5
ldc "No methods starting with name execute found to wrap."
iconst_0
anewarray java.lang.Object
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
131: aconst_null
areturn
132: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement
StackMap stack:
aload 16
new com.oracle.truffle.dsl.processor.InstrumentableProcessor$1
dup
aload 0
invokespecial com.oracle.truffle.dsl.processor.InstrumentableProcessor$1.<init>:(Lcom/oracle/truffle/dsl/processor/InstrumentableProcessor;)V
invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
133: aload 16
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 22
goto 254
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement top java.util.Iterator
StackMap stack:
134: aload 22
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 21
start local 21 135: aload 21
astore 23
start local 23 136: aload 23
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 137: 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
138: aload 24
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
139: aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getAnnotationMirrors:()Ljava/util/List;
invokeinterface java.util.List.clear:()V
140: ldc "null"
astore 25
start local 25 141: aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 27
goto 146
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.Iterator javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.lang.String top java.util.Iterator
StackMap stack:
142: aload 27
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 26
start local 26 143: aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.VirtualFrame:Ljavax/lang/model/type/DeclaredType;
aload 26
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 146
144: aload 26
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 25
145: goto 147
end local 26 146: StackMap locals:
StackMap stack:
aload 27
invokeinterface java.util.Iterator.hasNext:()Z
ifne 142
147: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.Iterator javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.lang.String
StackMap stack:
aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 26
start local 26 148: aload 23
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
astore 27
start local 27 149: aload 27
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isVoid:(Ljavax/lang/model/type/TypeMirror;)Z
istore 28
start local 28 150: iload 28
ifeq 154
aload 18
ifnull 154
aload 23
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 18
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmpne 154
151: aload 18
astore 23
152: aload 18
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
astore 27
153: iconst_0
istore 28
154: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.type.TypeMirror int
StackMap stack:
iload 28
ifne 158
155: ldc "returnValue"
astore 29
start local 29 156: aload 26
aload 27
aload 29
aconst_null
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
157: goto 159
end local 29 158: StackMap locals:
StackMap stack:
ldc "null"
astore 29
start local 29 159: StackMap locals: java.lang.String
StackMap stack:
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startFor:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startGroup:()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;
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
160: aload 26
ldc "boolean"
ldc "wasOnReturnExecuted"
ldc "false"
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
161: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startTryBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
162: aload 1
aload 24
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.hasUnexpectedResult:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/element/ExecutableElement;)Z
istore 30
start local 30 163: iload 30
ifeq 165
164: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startTryBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
165: StackMap locals: int
StackMap stack:
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "probeNode"
ldc "onEnter"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 25
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
166: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.create:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 31
start local 31 167: aload 31
ldc "delegateNode"
aload 23
invokeinterface javax.lang.model.element.ExecutableElement.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
168: aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 33
goto 171
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.Iterator javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.type.TypeMirror int java.lang.String int com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder top java.util.Iterator
StackMap stack:
169: aload 33
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 32
start local 32 170: aload 31
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 171: StackMap locals:
StackMap stack:
aload 33
invokeinterface java.util.Iterator.hasNext:()Z
ifne 169
172: aload 31
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
173: iload 28
ifeq 176
174: aload 26
aload 31
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.statement:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
175: goto 177
176: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.Iterator javax.lang.model.element.ExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder javax.lang.model.type.TypeMirror int java.lang.String int com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder
StackMap stack:
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 29
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)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;
aload 31
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.tree:(Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)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
177: StackMap locals:
StackMap stack:
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "wasOnReturnExecuted"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)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
178: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "probeNode"
ldc "onReturnValue"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 25
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
179: aload 20
ifnull 180
iload 28
ifeq 182
180: StackMap locals:
StackMap stack:
aload 26
aload 29
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
181: goto 183
182: StackMap locals:
StackMap stack:
aload 26
aload 20
aload 25
aload 29
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.InstrumentableProcessor.createCallConverter:(Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;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
183: StackMap locals:
StackMap stack:
aload 26
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
184: aload 26
ldc "break"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
185: iload 30
ifeq 195
186: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.UnexpectedResultException:Ljavax/lang/model/type/DeclaredType;
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
187: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "wasOnReturnExecuted"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)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
188: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "probeNode"
ldc "onReturnValue"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 25
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
189: aload 20
ifnull 190
iload 28
ifeq 192
190: StackMap locals:
StackMap stack:
aload 26
ldc "e.getResult()"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
191: goto 193
192: StackMap locals:
StackMap stack:
aload 26
aload 20
aload 25
ldc "e.getResult()"
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.InstrumentableProcessor.createCallConverter:(Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;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
193: StackMap locals:
StackMap stack:
aload 26
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
194: aload 26
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;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
195: StackMap locals:
StackMap stack:
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 1
ldc Ljava/lang/Throwable;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getType:(Ljava/lang/Class;)Ljavax/lang/model/type/TypeMirror;
ldc "t"
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
196: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.create:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 32
start local 32 197: aload 32
ldc "probeNode"
ldc "onReturnExceptionalOrUnwind"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startCall:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 25
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "t"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "wasOnReturnExecuted"
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
198: aload 26
ldc "Object"
ldc "result"
aload 32
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:(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
199: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "result == "
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "ProbeNode.UNWIND_ACTION_REENTER"
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
200: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
201: aload 26
ldc "continue"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
202: aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isVoid:(Ljavax/lang/model/type/TypeMirror;)Z
ifeq 208
203: aload 26
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.startElseIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
204: aload 26
ldc "result != 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
205: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
206: aload 26
ldc "break"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
207: goto 248
208: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder
StackMap stack:
ldc "java.lang.Object"
aload 27
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getQualifiedName:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 209
aload 27
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
getstatic javax.lang.model.type.TypeKind.ARRAY:Ljavax/lang/model/type/TypeKind;
if_acmpeq 209
iconst_1
goto 210
StackMap locals:
StackMap stack:
209: iconst_0
StackMap locals:
StackMap stack: int
210: istore 33
start local 33 211: aload 1
aload 24
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.hasUnexpectedResult:(Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/element/ExecutableElement;)Z
istore 34
start local 34 212: iload 33
ifne 213
iload 34
ifne 226
213: StackMap locals: int int
StackMap stack:
aload 26
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.startElseIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
214: aload 26
ldc "result != 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
215: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
216: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 29
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)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;
pop
217: iload 33
ifne 219
218: aload 26
ldc "("
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 27
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getSimpleName:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)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;
pop
219: StackMap locals:
StackMap stack:
aload 19
ifnonnull 222
220: aload 26
ldc "result"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
221: goto 223
222: StackMap locals:
StackMap stack:
aload 26
aload 19
aload 25
ldc "result"
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.InstrumentableProcessor.createCallConverter:(Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;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
223: StackMap locals:
StackMap stack:
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
224: aload 26
ldc "break"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
225: goto 248
226: StackMap locals:
StackMap stack:
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
227: aload 19
ifnull 234
228: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "result != 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
229: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
230: aload 26
ldc "result = "
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
231: aload 26
aload 19
aload 25
ldc "result"
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.InstrumentableProcessor.createCallConverter:(Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;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
232: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
233: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
234: StackMap locals:
StackMap stack:
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
235: aload 26
ldc "result"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 27
aload 1
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getEnvironment:()Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
invokestatic com.oracle.truffle.dsl.processor.InstrumentableProcessor.boxed:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/util/Types;)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;
pop
236: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
237: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 29
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)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;
pop
238: aload 26
ldc "("
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 27
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getSimpleName:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)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;
pop
239: aload 26
ldc "result"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
240: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
241: aload 26
ldc "break"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.statement:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
242: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
243: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startElseIf:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "result != 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
244: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startBlock:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
245: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startThrow:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 4
getfield com.oracle.truffle.dsl.processor.TruffleTypes.UnexpectedResultException:Ljavax/lang/model/type/DeclaredType;
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startNew:(Ljavax/lang/model/type/TypeMirror;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
246: aload 26
ldc "result"
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
247: aload 26
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 34 end local 33 248: StackMap locals:
StackMap stack:
aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
249: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startThrow:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
ldc "t"
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
250: aload 26
iconst_2
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.end:(I)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
251: aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.isVoid:(Ljavax/lang/model/type/TypeMirror;)Z
ifne 253
252: aload 26
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
aload 29
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
253: StackMap locals:
StackMap stack:
aload 11
aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTypeElement.add:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
pop
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 21 254: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement top java.util.Iterator
StackMap stack:
aload 22
invokeinterface java.util.Iterator.hasNext:()Z
ifne 134
255: aload 15
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 22
goto 272
StackMap locals:
StackMap stack:
256: aload 22
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 21
start local 21 257: aload 21
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 258: 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
259: aload 23
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
260: aload 23
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 24
start local 24 261: aload 21
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 264
262: aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStatement:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
263: goto 265
264: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder
StackMap stack:
aload 24
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startReturn:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
265: StackMap locals:
StackMap stack:
aload 24
ldc "this.delegateNode"
aload 23
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
266: aload 23
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 26
goto 269
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement java.util.Iterator com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder top java.util.Iterator
StackMap stack:
267: aload 26
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 25
start local 25 268: aload 24
aload 25
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 25 269: StackMap locals:
StackMap stack:
aload 26
invokeinterface java.util.Iterator.hasNext:()Z
ifne 267
270: aload 24
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
271: aload 11
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 24 end local 23 end local 21 272: StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.element.Element int com.oracle.truffle.dsl.processor.TruffleTypes javax.lang.model.element.TypeElement javax.lang.model.element.ExecutableElement java.util.List javax.lang.model.element.PackageElement java.util.Set java.lang.String com.oracle.truffle.dsl.processor.java.model.CodeTypeElement javax.lang.model.type.TypeMirror java.util.Set com.oracle.truffle.dsl.processor.java.model.CodeExecutableElement java.util.List java.util.List java.util.List javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement javax.lang.model.element.ExecutableElement top java.util.Iterator
StackMap stack:
aload 22
invokeinterface java.util.Iterator.hasNext:()Z
ifne 256
273: aload 11
areturn
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 274 0 this Lcom/oracle/truffle/dsl/processor/InstrumentableProcessor;
0 274 1 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 274 2 e Ljavax/lang/model/element/Element;
0 274 3 topLevelClass Z
12 274 4 types Lcom/oracle/truffle/dsl/processor/TruffleTypes;
13 274 5 sourceType Ljavax/lang/model/element/TypeElement;
14 274 6 constructor Ljavax/lang/model/element/ExecutableElement;
15 274 7 constructors Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
18 28 8 iterator Ljava/util/ListIterator<Ljavax/lang/model/element/ExecutableElement;>;
20 27 9 c Ljavax/lang/model/element/ExecutableElement;
21 27 10 modifier Ljavax/lang/model/element/Modifier;
31 35 8 c Ljavax/lang/model/element/ExecutableElement;
32 35 10 firstParameter Ljavax/lang/model/element/VariableElement;
39 43 8 c Ljavax/lang/model/element/ExecutableElement;
40 43 10 firstParameter Ljavax/lang/model/element/VariableElement;
48 274 8 pack Ljavax/lang/model/element/PackageElement;
51 52 9 typeModifiers Ljava/util/Set<Ljavax/lang/model/element/Modifier;>;
53 274 9 typeModifiers Ljava/util/Set<Ljavax/lang/model/element/Modifier;>;
49 274 10 wrapperClassName Ljava/lang/String;
55 274 11 wrapperType Lcom/oracle/truffle/dsl/processor/java/model/CodeTypeElement;
56 274 12 resolvedSuperType Ljavax/lang/model/type/TypeMirror;
63 64 13 constructorModifiers Ljava/util/Set<Ljavax/lang/model/element/Modifier;>;
65 274 13 constructorModifiers Ljava/util/Set<Ljavax/lang/model/element/Modifier;>;
66 274 14 wrappedConstructor Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
69 74 15 field Ljavax/lang/model/element/VariableElement;
72 74 17 getter Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
77 80 15 returnType Ljavax/lang/model/type/TypeMirror;
78 80 16 getInstrumentationTags Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
81 274 15 wrappedMethods Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
82 274 16 wrappedExecuteMethods Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
83 274 17 elementList Ljava/util/List<+Ljavax/lang/model/element/Element;>;
84 274 18 genericExecuteDelegate Ljavax/lang/model/element/ExecutableElement;
86 95 19 method Ljavax/lang/model/element/ExecutableElement;
90 95 21 firstParam Ljavax/lang/model/element/VariableElement;
98 107 19 method Ljavax/lang/model/element/ExecutableElement;
101 107 21 methodName Ljava/lang/String;
109 274 19 incomingConverterMethod Ljavax/lang/model/element/ExecutableElement;
110 274 20 outgoingConverterMethod Ljavax/lang/model/element/ExecutableElement;
112 128 21 method Ljavax/lang/model/element/ExecutableElement;
113 128 23 incomingConverter Ljavax/lang/model/element/AnnotationMirror;
114 128 24 outgoingConverter Ljavax/lang/model/element/AnnotationMirror;
135 254 21 method Ljavax/lang/model/element/ExecutableElement;
136 254 23 executeMethod Ljavax/lang/model/element/ExecutableElement;
137 254 24 wrappedExecute Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
141 254 25 frameParameterName Ljava/lang/String;
143 146 26 parameter Ljavax/lang/model/element/VariableElement;
148 254 26 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
149 254 27 returnTypeMirror Ljavax/lang/model/type/TypeMirror;
150 254 28 executeReturnsVoid Z
156 158 29 returnName Ljava/lang/String;
159 254 29 returnName Ljava/lang/String;
163 254 30 hasUnexpectedResult Z
167 254 31 callDelegate Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
170 171 32 parameter Ljavax/lang/model/element/VariableElement;
197 254 32 callExOrUnwind Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
211 248 33 objectReturnType Z
212 248 34 throwsUnexpectedResult Z
257 272 21 delegateMethod Ljavax/lang/model/element/ExecutableElement;
258 272 23 generatedMethod Lcom/oracle/truffle/dsl/processor/java/model/CodeExecutableElement;
261 272 24 callDelegate Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
268 269 25 parameter Ljavax/lang/model/element/VariableElement;
MethodParameters:
Name Flags
context
e
topLevelClass
private static boolean isExecuteMethod(javax.lang.model.element.ExecutableElement);
descriptor: (Ljavax/lang/model/element/ExecutableElement;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
ldc "execute"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals: java.lang.String
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 method Ljavax/lang/model/element/ExecutableElement;
1 4 1 methodName Ljava/lang/String;
MethodParameters:
Name Flags
method
private static boolean isOverridable(javax.lang.model.element.ExecutableElement);
descriptor: (Ljavax/lang/model/element/ExecutableElement;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
astore 1
start local 1 1: aload 1
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 3
2: iconst_0
ireturn
3: StackMap locals: java.util.Set
StackMap stack:
aload 1
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getVisibility:(Ljava/util/Set;)Ljavax/lang/model/element/Modifier;
astore 2
start local 2 4: aload 2
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
if_acmpne 6
5: iconst_0
ireturn
6: StackMap locals: javax.lang.model.element.Modifier
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 method Ljavax/lang/model/element/ExecutableElement;
1 7 1 modifiers Ljava/util/Set<Ljavax/lang/model/element/Modifier;>;
4 7 2 visibility Ljavax/lang/model/element/Modifier;
MethodParameters:
Name Flags
method
private static com.oracle.truffle.dsl.processor.java.model.CodeTree createCallConverter(javax.lang.model.element.ExecutableElement, java.lang.String, com.oracle.truffle.dsl.processor.java.model.CodeTree);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.createBuilder:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
astore 3
start local 3 1: aload 0
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 4
2: aload 3
aload 0
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.startStaticCall:(Ljavax/lang/model/element/ExecutableElement;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
3: goto 5
4: StackMap locals: com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder
StackMap stack:
aload 3
ldc "this.delegateNode"
aload 0
invokeinterface javax.lang.model.element.ExecutableElement.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
5: StackMap locals:
StackMap stack:
aload 0
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 8
6: aload 3
aload 2
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
7: goto 12
8: StackMap locals:
StackMap stack:
aload 0
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_2
if_icmpeq 10
9: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.string:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
pop
11: aload 3
aload 2
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
12: 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
13: aload 3
invokevirtual com.oracle.truffle.dsl.processor.java.model.CodeTreeBuilder.build:()Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 converterMethod Ljavax/lang/model/element/ExecutableElement;
0 14 1 frameParameterName Ljava/lang/String;
0 14 2 returnName Lcom/oracle/truffle/dsl/processor/java/model/CodeTree;
1 14 3 builder Lcom/oracle/truffle/dsl/processor/java/model/CodeTreeBuilder;
MethodParameters:
Name Flags
converterMethod
frameParameterName
returnName
private boolean verifyConverter(javax.lang.model.element.ExecutableElement, javax.lang.model.type.DeclaredType);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/type/DeclaredType;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 3
1: aload 0
aload 1
ldc "Method annotated with @%s must not be private."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getSimpleName:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.ABSTRACT:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 6
4: aload 0
aload 1
ldc "Method annotated with @%s must not be abstract."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getSimpleName:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.dsl.processor.ProcessorContext.getInstance:()Lcom/oracle/truffle/dsl/processor/ProcessorContext;
astore 3
start local 3 7: aload 3
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypes:()Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.VirtualFrame:Ljavax/lang/model/type/DeclaredType;
astore 4
start local 4 8: aload 3
ldc Ljava/lang/Object;
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getDeclaredType:(Ljava/lang/Class;)Ljavax/lang/model/type/DeclaredType;
astore 5
start local 5 9: iconst_1
istore 6
start local 6 10: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 15
11: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
iconst_0
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;
astore 7
start local 7 12: aload 7
aload 5
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 24
13: iconst_0
istore 6
end local 7 14: goto 24
StackMap locals: com.oracle.truffle.dsl.processor.InstrumentableProcessor javax.lang.model.element.ExecutableElement javax.lang.model.type.DeclaredType com.oracle.truffle.dsl.processor.ProcessorContext javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror int
StackMap stack:
15: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_2
if_icmpne 23
16: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
iconst_0
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;
astore 7
start local 7 17: aload 7
aload 4
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 19
18: iconst_0
istore 6
19: StackMap locals: javax.lang.model.type.TypeMirror
StackMap stack:
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
iconst_1
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;
astore 8
start local 8 20: aload 8
aload 5
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 24
21: iconst_0
istore 6
end local 8 end local 7 22: goto 24
23: StackMap locals:
StackMap stack:
iconst_0
istore 6
24: StackMap locals:
StackMap stack:
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
aload 5
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 26
25: iconst_0
istore 6
26: StackMap locals:
StackMap stack:
iload 6
ifne 32
27: aload 0
aload 1
ldc "Invalid @%s method signature. Must be either Object converter(Object) or Object converter(%s, Object)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
28: aload 2
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getSimpleName:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
aastore
dup
iconst_1
29: aload 3
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypes:()Lcom/oracle/truffle/dsl/processor/TruffleTypes;
getfield com.oracle.truffle.dsl.processor.TruffleTypes.VirtualFrame:Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
30: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.truffle.dsl.processor.InstrumentableProcessor.emitError:(Ljavax/lang/model/element/Element;Ljava/lang/String;)V
31: iconst_0
ireturn
32: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 33 0 this Lcom/oracle/truffle/dsl/processor/InstrumentableProcessor;
0 33 1 method Ljavax/lang/model/element/ExecutableElement;
0 33 2 annotationClass Ljavax/lang/model/type/DeclaredType;
7 33 3 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
8 33 4 frameClass Ljavax/lang/model/type/TypeMirror;
9 33 5 objectClass Ljavax/lang/model/type/TypeMirror;
10 33 6 valid Z
12 14 7 firstType Ljavax/lang/model/type/TypeMirror;
17 22 7 firstType Ljavax/lang/model/type/TypeMirror;
20 22 8 secondType Ljavax/lang/model/type/TypeMirror;
MethodParameters:
Name Flags
method
annotationClass
private static javax.lang.model.type.TypeMirror boxed(javax.lang.model.type.TypeMirror, javax.lang.model.util.Types);
descriptor: (Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/util/Types;)Ljavax/lang/model/type/TypeMirror;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.isPrimitive:()Z
ifeq 2
1: aload 1
aload 0
checkcast javax.lang.model.type.PrimitiveType
invokeinterface javax.lang.model.util.Types.boxedClass:(Ljavax/lang/model/type/PrimitiveType;)Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
areturn
2: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Ljavax/lang/model/type/TypeMirror;
0 3 1 types Ljavax/lang/model/util/Types;
MethodParameters:
Name Flags
type
types
private static boolean isOverrideableOrUndeclared(javax.lang.model.element.TypeElement, java.lang.String);
descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
anewarray javax.lang.model.type.TypeMirror
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.getDeclaredMethodsInSuperTypes:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;[Ljavax/lang/model/type/TypeMirror;)Ljava/util/List;
astore 2
start local 2 1: aload 2
invokeinterface java.util.List.isEmpty:()Z
ifne 2
aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 2
iconst_0
ireturn
StackMap locals: java.util.List
StackMap stack:
2: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 sourceType Ljavax/lang/model/element/TypeElement;
0 3 1 methodName Ljava/lang/String;
1 3 2 elements Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
MethodParameters:
Name Flags
sourceType
methodName
private static com.oracle.truffle.dsl.processor.java.model.CodeVariableElement createNodeChild(com.oracle.truffle.dsl.processor.ProcessorContext, javax.lang.model.type.TypeMirror, java.lang.String);
descriptor: (Lcom/oracle/truffle/dsl/processor/ProcessorContext;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: 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 1
aload 2
invokespecial com.oracle.truffle.dsl.processor.java.model.CodeVariableElement.<init>:(Ljava/util/Set;Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;)V
astore 3
start local 3 1: aload 3
new com.oracle.truffle.dsl.processor.java.model.CodeAnnotationMirror
dup
aload 0
invokevirtual com.oracle.truffle.dsl.processor.ProcessorContext.getTypes:()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
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lcom/oracle/truffle/dsl/processor/ProcessorContext;
0 3 1 type Ljavax/lang/model/type/TypeMirror;
0 3 2 name Ljava/lang/String;
1 3 3 var Lcom/oracle/truffle/dsl/processor/java/model/CodeVariableElement;
MethodParameters:
Name Flags
context
type
name
void assertNoErrorExpected(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.InstrumentableProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 1
invokestatic com.oracle.truffle.dsl.processor.ExpectError.assertNoErrorExpected:(Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/dsl/processor/InstrumentableProcessor;
0 2 1 e Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
e
void emitError(javax.lang.model.element.Element, java.lang.String);
descriptor: (Ljavax/lang/model/element/Element;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.dsl.processor.InstrumentableProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 1
aload 2
invokestatic com.oracle.truffle.dsl.processor.ExpectError.isExpectedError:(Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;Ljava/lang/String;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.InstrumentableProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
aload 2
aload 1
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/dsl/processor/InstrumentableProcessor;
0 4 1 e Ljavax/lang/model/element/Element;
0 4 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
e
msg
void emitError(javax.lang.model.element.Element, javax.lang.model.element.AnnotationMirror, java.lang.String);
descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.dsl.processor.InstrumentableProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
aload 1
aload 3
invokestatic com.oracle.truffle.dsl.processor.ExpectError.isExpectedError:(Ljavax/annotation/processing/ProcessingEnvironment;Ljavax/lang/model/element/Element;Ljava/lang/String;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.InstrumentableProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
aload 3
aload 1
aload 2
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/dsl/processor/InstrumentableProcessor;
0 4 1 e Ljavax/lang/model/element/Element;
0 4 2 annotation Ljavax/lang/model/element/AnnotationMirror;
0 4 3 msg Ljava/lang/String;
MethodParameters:
Name Flags
e
annotation
msg
}
SourceFile: "InstrumentableProcessor.java"
NestMembers:
com.oracle.truffle.dsl.processor.InstrumentableProcessor$1
InnerClasses:
com.oracle.truffle.dsl.processor.InstrumentableProcessor$1
public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic
RuntimeVisibleAnnotations:
javax.annotation.processing.SupportedAnnotationTypes(value = {"com.oracle.truffle.api.instrumentation.GenerateWrapper"})