public class com.oracle.truffle.dsl.processor.model.TemplateMethod extends com.oracle.truffle.dsl.processor.model.MessageContainer implements java.lang.Comparable<com.oracle.truffle.dsl.processor.model.TemplateMethod>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.dsl.processor.model.TemplateMethod
super_class: com.oracle.truffle.dsl.processor.model.MessageContainer
{
public static final java.lang.String FRAME_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "frameValue"
public static final int NO_NATURAL_ORDER;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private java.lang.String id;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private final com.oracle.truffle.dsl.processor.model.Template template;
descriptor: Lcom/oracle/truffle/dsl/processor/model/Template;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int naturalOrder;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.dsl.processor.model.MethodSpec specification;
descriptor: Lcom/oracle/truffle/dsl/processor/model/MethodSpec;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.lang.model.element.ExecutableElement method;
descriptor: Ljavax/lang/model/element/ExecutableElement;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.lang.model.element.AnnotationMirror markerAnnotation;
descriptor: Ljavax/lang/model/element/AnnotationMirror;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.dsl.processor.model.Parameter returnType;
descriptor: Lcom/oracle/truffle/dsl/processor/model/Parameter;
flags: (0x0002) ACC_PRIVATE
private final java.util.List<com.oracle.truffle.dsl.processor.model.Parameter> parameters;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/Parameter;>;
private final java.util.Map<java.lang.String, com.oracle.truffle.dsl.processor.model.Parameter> parameterCache;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/model/Parameter;>;
public void <init>(java.lang.String, int, com.oracle.truffle.dsl.processor.model.Template, com.oracle.truffle.dsl.processor.model.MethodSpec, javax.lang.model.element.ExecutableElement, javax.lang.model.element.AnnotationMirror, com.oracle.truffle.dsl.processor.model.Parameter, java.util.List<com.oracle.truffle.dsl.processor.model.Parameter>);
descriptor: (Ljava/lang/String;ILcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/MethodSpec;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/AnnotationMirror;Lcom/oracle/truffle/dsl/processor/model/Parameter;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
invokespecial com.oracle.truffle.dsl.processor.model.MessageContainer.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameterCache:Ljava/util/Map;
2: aload 0
aload 3
putfield com.oracle.truffle.dsl.processor.model.TemplateMethod.template:Lcom/oracle/truffle/dsl/processor/model/Template;
3: aload 0
aload 4
putfield com.oracle.truffle.dsl.processor.model.TemplateMethod.specification:Lcom/oracle/truffle/dsl/processor/model/MethodSpec;
4: aload 0
iload 2
putfield com.oracle.truffle.dsl.processor.model.TemplateMethod.naturalOrder:I
5: aload 0
aload 5
putfield com.oracle.truffle.dsl.processor.model.TemplateMethod.method:Ljavax/lang/model/element/ExecutableElement;
6: aload 0
aload 6
putfield com.oracle.truffle.dsl.processor.model.TemplateMethod.markerAnnotation:Ljavax/lang/model/element/AnnotationMirror;
7: aload 0
aload 7
putfield com.oracle.truffle.dsl.processor.model.TemplateMethod.returnType:Lcom/oracle/truffle/dsl/processor/model/Parameter;
8: aload 0
new java.util.ArrayList
dup
aload 8
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
putfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameters:Ljava/util/List;
9: aload 8
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 12
StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod java.lang.String int com.oracle.truffle.dsl.processor.model.Template com.oracle.truffle.dsl.processor.model.MethodSpec javax.lang.model.element.ExecutableElement javax.lang.model.element.AnnotationMirror com.oracle.truffle.dsl.processor.model.Parameter java.util.List top java.util.Iterator
StackMap stack:
10: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.Parameter
astore 9
start local 9 11: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameterCache:Ljava/util/Map;
aload 9
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getLocalName:()Ljava/lang/String;
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 12: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: aload 7
ifnull 15
14: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameterCache:Ljava/util/Map;
aload 7
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getLocalName:()Ljava/lang/String;
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod java.lang.String int com.oracle.truffle.dsl.processor.model.Template com.oracle.truffle.dsl.processor.model.MethodSpec javax.lang.model.element.ExecutableElement javax.lang.model.element.AnnotationMirror com.oracle.truffle.dsl.processor.model.Parameter java.util.List
StackMap stack:
aload 0
aload 1
putfield com.oracle.truffle.dsl.processor.model.TemplateMethod.id:Ljava/lang/String;
16: return
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 17 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 17 1 id Ljava/lang/String;
0 17 2 naturalOrder I
0 17 3 template Lcom/oracle/truffle/dsl/processor/model/Template;
0 17 4 specification Lcom/oracle/truffle/dsl/processor/model/MethodSpec;
0 17 5 method Ljavax/lang/model/element/ExecutableElement;
0 17 6 markerAnnotation Ljavax/lang/model/element/AnnotationMirror;
0 17 7 returnType Lcom/oracle/truffle/dsl/processor/model/Parameter;
0 17 8 parameters Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/Parameter;>;
11 12 9 param Lcom/oracle/truffle/dsl/processor/model/Parameter;
Signature: (Ljava/lang/String;ILcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/MethodSpec;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/AnnotationMirror;Lcom/oracle/truffle/dsl/processor/model/Parameter;Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/Parameter;>;)V
MethodParameters:
Name Flags
id
naturalOrder
template
specification
method
markerAnnotation
returnType
parameters
public final com.oracle.truffle.dsl.processor.model.Parameter getFrame();
descriptor: ()Lcom/oracle/truffle/dsl/processor/model/Parameter;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "frameValue"
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.findParameter:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/model/Parameter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public void removeParameter(com.oracle.truffle.dsl.processor.model.Parameter);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/Parameter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameters:Ljava/util/List;
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameterCache:Ljava/util/Map;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getLocalName:()Ljava/lang/String;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 3 1 p Lcom/oracle/truffle/dsl/processor/model/Parameter;
MethodParameters:
Name Flags
p
public void addParameter(int, com.oracle.truffle.dsl.processor.model.Parameter);
descriptor: (ILcom/oracle/truffle/dsl/processor/model/Parameter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameters:Ljava/util/List;
iload 1
aload 2
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
1: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameterCache:Ljava/util/Map;
aload 2
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getLocalName:()Ljava/lang/String;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 3 1 index I
0 3 2 p Lcom/oracle/truffle/dsl/processor/model/Parameter;
MethodParameters:
Name Flags
index
p
public java.lang.String createReferenceName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getMethod:()Ljavax/lang/model/element/ExecutableElement;
ifnonnull 2
1: ldc "-"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getMethod:()Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.createReferenceName:(Ljavax/lang/model/element/ExecutableElement;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public int getNaturalOrder();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.naturalOrder:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public void <init>(com.oracle.truffle.dsl.processor.model.TemplateMethod);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.id:Ljava/lang/String;
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.naturalOrder:I
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.template:Lcom/oracle/truffle/dsl/processor/model/Template;
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.specification:Lcom/oracle/truffle/dsl/processor/model/MethodSpec;
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.method:Ljavax/lang/model/element/ExecutableElement;
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.markerAnnotation:Ljavax/lang/model/element/AnnotationMirror;
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.returnType:Lcom/oracle/truffle/dsl/processor/model/Parameter;
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameters:Ljava/util/List;
invokespecial com.oracle.truffle.dsl.processor.model.TemplateMethod.<init>:(Ljava/lang/String;ILcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/MethodSpec;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/AnnotationMirror;Lcom/oracle/truffle/dsl/processor/model/Parameter;Ljava/util/List;)V
1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getMessages:()Ljava/util/List;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getMessages:()Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 3 1 method Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
MethodParameters:
Name Flags
method
public void <init>(com.oracle.truffle.dsl.processor.model.TemplateMethod, javax.lang.model.element.ExecutableElement);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;Ljavax/lang/model/element/ExecutableElement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.id:Ljava/lang/String;
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.naturalOrder:I
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.template:Lcom/oracle/truffle/dsl/processor/model/Template;
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.specification:Lcom/oracle/truffle/dsl/processor/model/MethodSpec;
aload 2
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.markerAnnotation:Ljavax/lang/model/element/AnnotationMirror;
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.returnType:Lcom/oracle/truffle/dsl/processor/model/Parameter;
aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameters:Ljava/util/List;
invokespecial com.oracle.truffle.dsl.processor.model.TemplateMethod.<init>:(Ljava/lang/String;ILcom/oracle/truffle/dsl/processor/model/Template;Lcom/oracle/truffle/dsl/processor/model/MethodSpec;Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/AnnotationMirror;Lcom/oracle/truffle/dsl/processor/model/Parameter;Ljava/util/List;)V
1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getMessages:()Ljava/util/List;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getMessages:()Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 3 1 method Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 3 2 executable Ljavax/lang/model/element/ExecutableElement;
MethodParameters:
Name Flags
method
executable
public javax.lang.model.element.Element getMessageElement();
descriptor: ()Ljavax/lang/model/element/Element;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.method:Ljavax/lang/model/element/ExecutableElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public javax.lang.model.element.AnnotationMirror getMessageAnnotation();
descriptor: ()Ljavax/lang/model/element/AnnotationMirror;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.markerAnnotation:Ljavax/lang/model/element/AnnotationMirror;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
protected java.util.List<com.oracle.truffle.dsl.processor.model.MessageContainer> findChildContainers();
descriptor: ()Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
Signature: ()Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/MessageContainer;>;
public void setId(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.dsl.processor.model.TemplateMethod.id:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 2 1 id Ljava/lang/String;
MethodParameters:
Name Flags
id
public java.lang.String getId();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.id:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public com.oracle.truffle.dsl.processor.model.Template getTemplate();
descriptor: ()Lcom/oracle/truffle/dsl/processor/model/Template;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.template:Lcom/oracle/truffle/dsl/processor/model/Template;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public com.oracle.truffle.dsl.processor.model.MethodSpec getSpecification();
descriptor: ()Lcom/oracle/truffle/dsl/processor/model/MethodSpec;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.specification:Lcom/oracle/truffle/dsl/processor/model/MethodSpec;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public com.oracle.truffle.dsl.processor.model.Parameter getReturnType();
descriptor: ()Lcom/oracle/truffle/dsl/processor/model/Parameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.returnType:Lcom/oracle/truffle/dsl/processor/model/Parameter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public void replaceParameter(java.lang.String, com.oracle.truffle.dsl.processor.model.Parameter);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/model/Parameter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.returnType:Lcom/oracle/truffle/dsl/processor/model/Parameter;
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getLocalName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
1: aload 0
aload 2
putfield com.oracle.truffle.dsl.processor.model.TemplateMethod.returnType:Lcom/oracle/truffle/dsl/processor/model/Parameter;
2: goto 6
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.findParameter:(Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/model/Parameter;
astore 3
start local 3 4: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameters:Ljava/util/List;
aload 3
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 4
start local 4 5: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameters:Ljava/util/List;
iload 4
aload 2
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 3 6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameterCache:Ljava/util/Map;
aload 2
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getLocalName:()Ljava/lang/String;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 8 1 localName Ljava/lang/String;
0 8 2 newParameter Lcom/oracle/truffle/dsl/processor/model/Parameter;
4 6 3 local Lcom/oracle/truffle/dsl/processor/model/Parameter;
5 6 4 index I
MethodParameters:
Name Flags
localName
newParameter
public java.lang.Iterable<com.oracle.truffle.dsl.processor.model.Parameter> getDynamicParameters();
descriptor: ()Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.dsl.processor.util.FilteredIterable
dup
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getParameters:()Ljava/util/List;
new com.oracle.truffle.dsl.processor.model.TemplateMethod$1
dup
aload 0
invokespecial com.oracle.truffle.dsl.processor.model.TemplateMethod$1.<init>:(Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;)V
invokespecial com.oracle.truffle.dsl.processor.util.FilteredIterable.<init>:(Ljava/lang/Iterable;Lcom/oracle/truffle/dsl/processor/util/Predicate;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
Signature: ()Ljava/lang/Iterable<Lcom/oracle/truffle/dsl/processor/model/Parameter;>;
public java.lang.Iterable<com.oracle.truffle.dsl.processor.model.Parameter> getSignatureParameters();
descriptor: ()Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.dsl.processor.util.FilteredIterable
dup
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getParameters:()Ljava/util/List;
new com.oracle.truffle.dsl.processor.model.TemplateMethod$2
dup
aload 0
invokespecial com.oracle.truffle.dsl.processor.model.TemplateMethod$2.<init>:(Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;)V
invokespecial com.oracle.truffle.dsl.processor.util.FilteredIterable.<init>:(Ljava/lang/Iterable;Lcom/oracle/truffle/dsl/processor/util/Predicate;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
Signature: ()Ljava/lang/Iterable<Lcom/oracle/truffle/dsl/processor/model/Parameter;>;
public java.util.List<com.oracle.truffle.dsl.processor.model.Parameter> getParameters();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameters:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
Signature: ()Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/Parameter;>;
public com.oracle.truffle.dsl.processor.model.Parameter findParameterOrDie(com.oracle.truffle.dsl.processor.model.NodeExecutionData);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/NodeExecutionData;)Lcom/oracle/truffle/dsl/processor/model/Parameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameters:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod com.oracle.truffle.dsl.processor.model.NodeExecutionData top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.Parameter
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getSpecification:()Lcom/oracle/truffle/dsl/processor/model/ParameterSpec;
invokevirtual com.oracle.truffle.dsl.processor.model.ParameterSpec.isSignature:()Z
ifeq 4
aload 2
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getSpecification:()Lcom/oracle/truffle/dsl/processor/model/ParameterSpec;
invokevirtual com.oracle.truffle.dsl.processor.model.ParameterSpec.getExecution:()Lcom/oracle/truffle/dsl/processor/model/NodeExecutionData;
aload 1
if_acmpne 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: new java.lang.AssertionError
dup
ldc "Could not find parameter for execution"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 6 1 execution Lcom/oracle/truffle/dsl/processor/model/NodeExecutionData;
2 4 2 parameter Lcom/oracle/truffle/dsl/processor/model/Parameter;
MethodParameters:
Name Flags
execution
public java.util.List<com.oracle.truffle.dsl.processor.model.Parameter> findByExecutionData(com.oracle.truffle.dsl.processor.model.NodeExecutionData);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/NodeExecutionData;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod com.oracle.truffle.dsl.processor.model.NodeExecutionData java.util.List top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.Parameter
astore 3
start local 3 3: aload 3
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getSpecification:()Lcom/oracle/truffle/dsl/processor/model/ParameterSpec;
astore 5
start local 5 4: aload 5
ifnull 6
aload 5
invokevirtual com.oracle.truffle.dsl.processor.model.ParameterSpec.getExecution:()Lcom/oracle/truffle/dsl/processor/model/NodeExecutionData;
ifnull 6
aload 5
invokevirtual com.oracle.truffle.dsl.processor.model.ParameterSpec.getExecution:()Lcom/oracle/truffle/dsl/processor/model/NodeExecutionData;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
aload 3
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getSpecification:()Lcom/oracle/truffle/dsl/processor/model/ParameterSpec;
invokevirtual com.oracle.truffle.dsl.processor.model.ParameterSpec.isSignature:()Z
ifeq 6
5: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 8 1 execution Lcom/oracle/truffle/dsl/processor/model/NodeExecutionData;
1 8 2 foundParameters Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/Parameter;>;
3 6 3 parameter Lcom/oracle/truffle/dsl/processor/model/Parameter;
4 6 5 spec Lcom/oracle/truffle/dsl/processor/model/ParameterSpec;
Signature: (Lcom/oracle/truffle/dsl/processor/model/NodeExecutionData;)Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/Parameter;>;
MethodParameters:
Name Flags
execution
public com.oracle.truffle.dsl.processor.model.Parameter findParameter(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/dsl/processor/model/Parameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.parameterCache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.Parameter
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 1 1 valueName Ljava/lang/String;
MethodParameters:
Name Flags
valueName
public java.util.List<com.oracle.truffle.dsl.processor.model.Parameter> getReturnTypeAndParameters();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getReturnType:()Lcom/oracle/truffle/dsl/processor/model/Parameter;
ifnull 3
2: aload 1
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getReturnType:()Lcom/oracle/truffle/dsl/processor/model/Parameter;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: StackMap locals: java.util.List
StackMap stack:
aload 1
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getParameters:()Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
4: aload 1
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
1 5 1 allParameters Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/Parameter;>;
Signature: ()Ljava/util/List<Lcom/oracle/truffle/dsl/processor/model/Parameter;>;
public javax.lang.model.element.ExecutableElement getMethod();
descriptor: ()Ljavax/lang/model/element/ExecutableElement;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.method:Ljavax/lang/model/element/ExecutableElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public java.lang.String getMethodName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getMethod:()Ljavax/lang/model/element/ExecutableElement;
ifnull 2
1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getMethod:()Ljavax/lang/model/element/ExecutableElement;
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
ldc "$synthetic"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public javax.lang.model.element.AnnotationMirror getMarkerAnnotation();
descriptor: ()Ljavax/lang/model/element/AnnotationMirror;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod.markerAnnotation:Ljavax/lang/model/element/AnnotationMirror;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: ldc "%s [id = %s, method = %s]"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getId:()Ljava/lang/String;
aastore
dup
iconst_2
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getMethod:()Ljavax/lang/model/element/ExecutableElement;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
public com.oracle.truffle.dsl.processor.model.Parameter getPreviousParam(com.oracle.truffle.dsl.processor.model.Parameter);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/Parameter;)Lcom/oracle/truffle/dsl/processor/model/Parameter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod com.oracle.truffle.dsl.processor.model.Parameter com.oracle.truffle.dsl.processor.model.Parameter top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.Parameter
astore 3
start local 3 3: aload 3
aload 1
if_acmpne 5
4: aload 2
areturn
5: StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod com.oracle.truffle.dsl.processor.model.Parameter com.oracle.truffle.dsl.processor.model.Parameter com.oracle.truffle.dsl.processor.model.Parameter java.util.Iterator
StackMap stack:
aload 3
astore 2
end local 3 6: StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod com.oracle.truffle.dsl.processor.model.Parameter com.oracle.truffle.dsl.processor.model.Parameter top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 8 1 searchParam Lcom/oracle/truffle/dsl/processor/model/Parameter;
1 8 2 prev Lcom/oracle/truffle/dsl/processor/model/Parameter;
3 6 3 param Lcom/oracle/truffle/dsl/processor/model/Parameter;
MethodParameters:
Name Flags
searchParam
public int getSignatureSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getSignatureParameters:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: int java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.Parameter
pop
3: iinc 1 1
4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
1 6 1 signatureSize I
public com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature getTypeSignature();
descriptor: ()Lcom/oracle/truffle/dsl/processor/model/TemplateMethod$TypeSignature;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: new com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature
dup
invokespecial com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature.<init>:()V
astore 1
start local 1 1: aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature.types:Ljava/util/List;
aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getReturnType:()Lcom/oracle/truffle/dsl/processor/model/Parameter;
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getSignatureParameters:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 7
StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.Parameter
astore 2
start local 2 4: aload 2
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getType:()Ljavax/lang/model/type/TypeMirror;
astore 4
start local 4 5: aload 4
ifnull 7
6: aload 1
getfield com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature.types:Ljava/util/List;
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 2 7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
1 9 1 signature Lcom/oracle/truffle/dsl/processor/model/TemplateMethod$TypeSignature;
4 7 2 parameter Lcom/oracle/truffle/dsl/processor/model/Parameter;
5 7 4 typeData Ljavax/lang/model/type/TypeMirror;
public void updateSignature(com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/TemplateMethod$TypeSignature;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getReturnTypeAndParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature int top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.Parameter
astore 3
start local 3 3: aload 3
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getSpecification:()Lcom/oracle/truffle/dsl/processor/model/ParameterSpec;
invokevirtual com.oracle.truffle.dsl.processor.model.ParameterSpec.isSignature:()Z
ifne 5
4: goto 10
5: StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature int com.oracle.truffle.dsl.processor.model.Parameter java.util.Iterator
StackMap stack:
iload 2
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature.size:()I
if_icmplt 7
6: goto 11
7: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature.get:(I)Ljavax/lang/model/type/TypeMirror;
astore 5
start local 5 8: aload 5
aload 3
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getType:()Ljavax/lang/model/type/TypeMirror;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.typeEquals:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 10
9: aload 0
aload 3
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getLocalName:()Ljava/lang/String;
new com.oracle.truffle.dsl.processor.model.Parameter
dup
aload 3
aload 5
invokespecial com.oracle.truffle.dsl.processor.model.Parameter.<init>:(Lcom/oracle/truffle/dsl/processor/model/Parameter;Ljavax/lang/model/type/TypeMirror;)V
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.replaceParameter:(Ljava/lang/String;Lcom/oracle/truffle/dsl/processor/model/Parameter;)V
end local 5 end local 3 10: StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 12 1 signature Lcom/oracle/truffle/dsl/processor/model/TemplateMethod$TypeSignature;
1 12 2 signatureIndex I
3 10 3 parameter Lcom/oracle/truffle/dsl/processor/model/Parameter;
8 10 5 newType Ljavax/lang/model/type/TypeMirror;
MethodParameters:
Name Flags
signature
public int compareTo(com.oracle.truffle.dsl.processor.model.TemplateMethod);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.compareBySignature:(Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;)I
istore 2
start local 2 3: iload 2
ifne 5
4: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getId:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getId:()Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
istore 2
5: StackMap locals: int
StackMap stack:
iload 2
ifne 9
6: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getMethod:()Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findNearestEnclosingType:(Ljavax/lang/model/element/Element;)Ljava/util/Optional;
invokedynamic get()Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
java/lang/AssertionError.<init>()V (8)
()Ljava/lang/AssertionError;
invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast javax.lang.model.element.TypeElement
astore 3
start local 3 7: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getMethod:()Ljavax/lang/model/element/ExecutableElement;
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.findNearestEnclosingType:(Ljavax/lang/model/element/Element;)Ljava/util/Optional;
invokedynamic get()Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
java/lang/AssertionError.<init>()V (8)
()Ljava/lang/AssertionError;
invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
checkcast javax.lang.model.element.TypeElement
astore 4
start local 4 8: aload 3
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
aload 4
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
istore 2
end local 4 end local 3 9: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 10 1 o Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
3 10 2 compare I
7 9 3 enclosingType1 Ljavax/lang/model/element/TypeElement;
8 9 4 enclosingType2 Ljavax/lang/model/element/TypeElement;
MethodParameters:
Name Flags
o
public int compareBySignature(com.oracle.truffle.dsl.processor.model.TemplateMethod);
descriptor: (Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getDynamicTypes:()Ljava/util/List;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getDynamicTypes:()Ljava/util/List;
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 15
5: StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod com.oracle.truffle.dsl.processor.model.TemplateMethod java.util.List java.util.List int int
StackMap stack:
iload 5
aload 2
invokeinterface java.util.List.size:()I
if_icmpge 6
aload 2
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
goto 7
StackMap locals:
StackMap stack:
6: aconst_null
StackMap locals:
StackMap stack: javax.lang.model.type.TypeMirror
7: astore 6
start local 6 8: iload 5
aload 3
invokeinterface java.util.List.size:()I
if_icmpge 9
aload 3
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
goto 10
StackMap locals: javax.lang.model.type.TypeMirror
StackMap stack:
9: aconst_null
StackMap locals:
StackMap stack: javax.lang.model.type.TypeMirror
10: astore 7
start local 7 11: aload 6
aload 7
invokestatic com.oracle.truffle.dsl.processor.java.ElementUtils.compareType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)I
istore 4
12: iload 4
ifeq 14
13: goto 16
end local 7 end local 6 14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
aload 2
invokeinterface java.util.List.size:()I
aload 3
invokeinterface java.util.List.size:()I
invokestatic java.lang.Math.max:(II)I
if_icmplt 5
end local 5 16: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
0 17 1 compareMethod Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
1 17 2 signature1 Ljava/util/List<Ljavax/lang/model/type/TypeMirror;>;
2 17 3 signature2 Ljava/util/List<Ljavax/lang/model/type/TypeMirror;>;
3 17 4 result I
4 16 5 i I
8 14 6 t1 Ljavax/lang/model/type/TypeMirror;
11 14 7 t2 Ljavax/lang/model/type/TypeMirror;
MethodParameters:
Name Flags
compareMethod
public java.util.List<javax.lang.model.type.TypeMirror> getDynamicTypes();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.getDynamicParameters:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.oracle.truffle.dsl.processor.model.TemplateMethod java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.dsl.processor.model.Parameter
astore 2
start local 2 3: aload 1
aload 2
invokevirtual com.oracle.truffle.dsl.processor.model.Parameter.getType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;
1 6 1 foundTypes Ljava/util/List<Ljavax/lang/model/type/TypeMirror;>;
3 4 2 param Lcom/oracle/truffle/dsl/processor/model/Parameter;
Signature: ()Ljava/util/List<Ljavax/lang/model/type/TypeMirror;>;
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.oracle.truffle.dsl.processor.model.TemplateMethod
invokevirtual com.oracle.truffle.dsl.processor.model.TemplateMethod.compareTo:(Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lcom/oracle/truffle/dsl/processor/model/MessageContainer;Ljava/lang/Comparable<Lcom/oracle/truffle/dsl/processor/model/TemplateMethod;>;
SourceFile: "TemplateMethod.java"
NestMembers:
com.oracle.truffle.dsl.processor.model.TemplateMethod$1 com.oracle.truffle.dsl.processor.model.TemplateMethod$2 com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature
InnerClasses:
public final Message = com.oracle.truffle.dsl.processor.model.MessageContainer$Message of com.oracle.truffle.dsl.processor.model.MessageContainer
com.oracle.truffle.dsl.processor.model.TemplateMethod$1
com.oracle.truffle.dsl.processor.model.TemplateMethod$2
public TypeSignature = com.oracle.truffle.dsl.processor.model.TemplateMethod$TypeSignature of com.oracle.truffle.dsl.processor.model.TemplateMethod
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles