public class org.graalvm.compiler.core.match.processor.MatchProcessor extends org.graalvm.compiler.processor.AbstractProcessor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.core.match.processor.MatchProcessor
super_class: org.graalvm.compiler.processor.AbstractProcessor
{
private static final java.lang.String VALUE_NODE_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "org.graalvm.compiler.nodes.ValueNode"
private static final java.lang.String COMPLEX_MATCH_RESULT_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "org.graalvm.compiler.core.match.ComplexMatchResult"
private static final java.lang.String MATCHABLE_NODES_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "org.graalvm.compiler.core.match.MatchableNodes"
private static final java.lang.String MATCHABLE_NODE_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "org.graalvm.compiler.core.match.MatchableNode"
private static final java.lang.String MATCH_RULE_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "org.graalvm.compiler.core.match.MatchRule"
private static final java.lang.String MATCH_RULES_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "org.graalvm.compiler.core.match.MatchRules"
private final java.util.Set<javax.lang.model.element.Element> processedMatchRules;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljavax/lang/model/element/Element;>;
private final java.util.Set<javax.lang.model.element.Element> processedMatchableNodes;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljavax/lang/model/element/Element;>;
private static final java.util.regex.Pattern tokenizer;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private java.io.PrintWriter log;
descriptor: Ljava/io/PrintWriter;
flags: (0x0002) ACC_PRIVATE
java.util.Map<java.lang.String, org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor> knownTypes;
descriptor: Ljava/util/Map;
flags: (0x0000)
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/graalvm/compiler/core/match/processor/MatchProcessor$TypeDescriptor;>;
private org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor valueType;
descriptor: Lorg/graalvm/compiler/core/match/processor/MatchProcessor$TypeDescriptor;
flags: (0x0002) ACC_PRIVATE
private javax.lang.model.element.Element currentElement;
descriptor: Ljavax/lang/model/element/Element;
flags: (0x0002) ACC_PRIVATE
private javax.annotation.processing.RoundEnvironment currentRound;
descriptor: Ljavax/annotation/processing/RoundEnvironment;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.core.match.processor.MatchProcessor.$assertionsDisabled:Z
3: ldc "\\s*([()=]|[A-Za-z][A-Za-z0-9]*)\\s*"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.graalvm.compiler.core.match.processor.MatchProcessor.tokenizer:Ljava/util/regex/Pattern;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.processor.AbstractProcessor.<init>:()V
1: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.processedMatchRules:Ljava/util/Set;
2: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.processedMatchableNodes:Ljava/util/Set;
3: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.knownTypes:Ljava/util/Map;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
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 Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
private java.io.PrintWriter getLog();
descriptor: ()Ljava/io/PrintWriter;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.log:Ljava/io/PrintWriter;
ifnonnull 8
1: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc ".javac."
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 4
2: aload 0
new java.io.PrintWriter
dup
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.log:Ljava/io/PrintWriter;
3: goto 8
4: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
getstatic javax.tools.StandardLocation.SOURCE_OUTPUT:Ljavax/tools/StandardLocation;
ldc ""
new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "log"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray javax.lang.model.element.Element
invokeinterface javax.annotation.processing.Filer.createResource:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/CharSequence;Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/FileObject;
astore 1
start local 1 5: aload 0
new java.io.PrintWriter
dup
new java.io.FileWriter
dup
aload 1
invokeinterface javax.tools.FileObject.toUri:()Ljava/net/URI;
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
iconst_1
invokespecial java.io.FileWriter.<init>:(Ljava/lang/String;Z)V
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.log:Ljava/io/PrintWriter;
end local 1 6: goto 8
StackMap locals:
StackMap stack: java.io.IOException
7: pop
8: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.log:Ljava/io/PrintWriter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
5 6 1 file Ljavax/tools/FileObject;
Exception table:
from to target type
4 6 7 Class java.io.IOException
private void logMessage(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: return
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getLog:()Ljava/io/PrintWriter;
astore 3
start local 3 2: aload 3
ifnull 5
3: aload 3
aload 1
aload 2
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
4: aload 3
invokevirtual java.io.PrintWriter.flush:()V
5: StackMap locals: java.io.PrintWriter
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 6 1 format Ljava/lang/String;
0 6 2 args [Ljava/lang/Object;
2 6 3 bw Ljava/io/PrintWriter;
MethodParameters:
Name Flags
format
args
private void logException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: return
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getLog:()Ljava/io/PrintWriter;
astore 2
start local 2 2: aload 2
ifnull 5
3: aload 1
aload 2
invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
4: aload 2
invokevirtual java.io.PrintWriter.flush:()V
5: StackMap locals: java.io.PrintWriter
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 6 1 t Ljava/lang/Throwable;
2 6 2 bw Ljava/io/PrintWriter;
MethodParameters:
Name Flags
t
private void reportExceptionThrow(javax.lang.model.element.Element, java.lang.Throwable);
descriptor: (Ljavax/lang/model/element/Element;Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 2
1: aload 0
ldc "throw for %s:\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.logMessage:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.logException:(Ljava/lang/Throwable;)V
3: aload 0
aload 1
ldc "Exception throw during processing: %s %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 2
invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
iconst_4
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 5 1 element Ljavax/lang/model/element/Element;
0 5 2 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
element
t
private void declareType(javax.lang.model.type.TypeMirror, java.lang.String, java.lang.String, java.lang.String, java.util.List<java.lang.String>, boolean, boolean, boolean, boolean, javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;ZZZZLjavax/lang/model/element/Element;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=12, args_size=11
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 start local 9 start local 10 0: new org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor
dup
aload 1
aload 2
aload 3
aload 4
aload 5
iload 6
iload 7
iload 8
iload 9
invokespecial org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor.<init>:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;ZZZZ)V
astore 11
start local 11 1: aload 11
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor.originatingElements:Ljava/util/Set;
aload 10
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.knownTypes:Ljava/util/Map;
aload 2
aload 11
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: return
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 4 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 4 1 mirror Ljavax/lang/model/type/TypeMirror;
0 4 2 shortName Ljava/lang/String;
0 4 3 nodeClass Ljava/lang/String;
0 4 4 nodePackage Ljava/lang/String;
0 4 5 inputs Ljava/util/List<Ljava/lang/String;>;
0 4 6 commutative Z
0 4 7 shareable Z
0 4 8 consumable Z
0 4 9 ignoresSideEffects Z
0 4 10 element Ljavax/lang/model/element/Element;
1 4 11 descriptor Lorg/graalvm/compiler/core/match/processor/MatchProcessor$TypeDescriptor;
Signature: (Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;ZZZZLjavax/lang/model/element/Element;)V
MethodParameters:
Name Flags
mirror
shortName
nodeClass
nodePackage
inputs
commutative
shareable
consumable
ignoresSideEffects
element
private java.lang.String findPackage(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
aload 1
invokeinterface javax.lang.model.util.Elements.getPackageOf:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/PackageElement;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
invokeinterface javax.lang.model.element.PackageElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
areturn
3: StackMap locals: javax.lang.model.element.PackageElement
StackMap stack:
new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Can't find package for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 4 1 type Ljavax/lang/model/element/Element;
1 4 2 p Ljavax/lang/model/element/PackageElement;
MethodParameters:
Name Flags
type
private java.lang.String fullClassName(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.findPackage:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
astore 2
start local 2 1: aload 1
checkcast javax.lang.model.element.TypeElement
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.length:()I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 2 1 element Ljavax/lang/model/element/Element;
1 2 2 pkg Ljava/lang/String;
MethodParameters:
Name Flags
element
private void createFiles(org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor);
descriptor: (Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleDescriptor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=19, args_size=2
start local 0 start local 1 0: aload 1
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.topDeclaringType:Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.PackageElement
invokeinterface javax.lang.model.element.PackageElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.topDeclaringType:Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
astore 3
start local 3 2: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "_MatchStatementSet"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 3: aload 1
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.originatingElements:Ljava/util/Set;
aload 1
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.originatingElements:Ljava/util/Set;
invokeinterface java.util.Set.size:()I
anewarray javax.lang.model.element.Element
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.lang.model.element.Element[]
astore 5
start local 5 4: aload 0
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.typeUtils:()Ljavax/lang/model/util/Types;
astore 6
start local 6 5: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getFiler:()Ljavax/annotation/processing/Filer;
astore 7
start local 7 6: aconst_null
astore 8
aconst_null
astore 9
7: aload 0
aload 2
aload 4
aload 7
aload 5
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.createSourceFile:(Ljava/lang/String;Ljava/lang/String;Ljavax/annotation/processing/Filer;[Ljavax/lang/model/element/Element;)Ljava/io/PrintWriter;
astore 10
start local 10 8: aload 10
ldc "// CheckStyle: stop header check"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
9: aload 10
ldc "// CheckStyle: stop line length check"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
10: aload 10
ldc "// GENERATED CONTENT - DO NOT EDIT"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
11: aload 10
new java.lang.StringBuilder
dup
ldc "// Source: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ".java"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
12: aload 10
new java.lang.StringBuilder
dup
ldc "package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
13: aload 10
ldc ""
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
14: aload 10
ldc "import java.util.*;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
15: aload 10
ldc "import org.graalvm.compiler.core.match.*;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
16: aload 10
ldc "import org.graalvm.compiler.core.gen.NodeMatchRules;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
17: aload 10
ldc "import org.graalvm.compiler.graph.Position;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
18: aload 1
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.requiredPackages:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 23
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor java.lang.String javax.lang.model.element.Name java.lang.String javax.lang.model.element.Element[] javax.lang.model.util.Types javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter top java.util.Iterator
StackMap stack:
19: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 11
start local 11 20: aload 11
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
21: goto 23
22: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor java.lang.String javax.lang.model.element.Name java.lang.String javax.lang.model.element.Element[] javax.lang.model.util.Types javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.lang.String java.util.Iterator
StackMap stack:
aload 10
new java.lang.StringBuilder
dup
ldc "import "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".*;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 11 23: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor java.lang.String javax.lang.model.element.Name java.lang.String javax.lang.model.element.Element[] javax.lang.model.util.Types javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
24: aload 10
ldc ""
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
25: aload 10
new java.lang.StringBuilder
dup
ldc "public class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " implements MatchStatementSet {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
26: aload 10
invokevirtual java.io.PrintWriter.println:()V
27: aload 1
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.invokers:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 12
goto 56
StackMap locals:
StackMap stack:
28: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem
astore 11
start local 11 29: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 13
start local 13 30: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 14
start local 14 31: aload 11
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.fields:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 15
start local 15 32: iconst_0
istore 16
start local 16 33: aload 11
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.fields:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 42
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor java.lang.String javax.lang.model.element.Name java.lang.String javax.lang.model.element.Element[] javax.lang.model.util.Types javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem java.util.Iterator java.lang.StringBuilder java.lang.StringBuilder int int top java.util.Iterator
StackMap stack:
34: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 17
start local 17 35: aload 13
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
36: aload 13
aload 17
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
pop
37: aload 13
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
38: aload 14
ldc "(%s) args[%s]"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
aload 6
aload 17
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.asElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/Element;
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.fullClassName:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
aastore
dup
iconst_1
iload 16
iinc 16 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
39: iload 15
iinc 15 -1
iconst_1
if_icmple 42
40: aload 13
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
41: aload 14
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 17 42: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 34
43: aload 10
ldc " private static final String[] %s = new String[] {%s};\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 11
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.argumentsListName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 13
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
44: aload 10
ldc " private static final class %s implements MatchGenerator {\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 11
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.wrapperClass:()Ljava/lang/String;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
45: aload 10
ldc " static final MatchGenerator instance = new %s();\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 11
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.wrapperClass:()Ljava/lang/String;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
46: aload 10
ldc " @Override\n"
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
47: aload 10
ldc " public ComplexMatchResult match(NodeMatchRules nodeMatchRules, Object...args) {\n"
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
48: aload 10
ldc " return ((%s) nodeMatchRules).%s(%s);\n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 11
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.nodeLIRBuilderClass:Ljava/lang/String;
aastore
dup
iconst_1
aload 11
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.methodName:Ljava/lang/String;
aastore
dup
iconst_2
aload 14
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
49: aload 10
ldc " }\n"
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
50: aload 10
ldc " @Override\n"
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
51: aload 10
ldc " public String getName() {\n"
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
52: aload 10
ldc " return \"%s\";\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 11
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.methodName:Ljava/lang/String;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
53: aload 10
ldc " }\n"
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
54: aload 10
ldc " }\n"
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
55: aload 10
invokevirtual java.io.PrintWriter.println:()V
end local 16 end local 15 end local 14 end local 13 end local 11 56: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor java.lang.String javax.lang.model.element.Name java.lang.String javax.lang.model.element.Element[] javax.lang.model.util.Types javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
57: ldc "MatchStatement"
astore 11
start local 11 58: aload 10
ldc " @Override"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
59: aload 10
ldc " public Class<? extends NodeMatchRules> forClass() {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
60: aload 10
new java.lang.StringBuilder
dup
ldc " return "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ".class;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
61: aload 10
ldc " }"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
62: aload 10
invokevirtual java.io.PrintWriter.println:()V
63: aload 10
ldc " @Override"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
64: aload 10
new java.lang.StringBuilder
dup
ldc " public List<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "> statements() {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
65: aload 10
ldc " // Checkstyle: stop "
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
66: aload 1
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.positionDeclarations:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 13
goto 69
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor java.lang.String javax.lang.model.element.Name java.lang.String javax.lang.model.element.Element[] javax.lang.model.util.Types javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.lang.String top java.util.Iterator
StackMap stack:
67: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 12
start local 12 68: aload 10
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 12 69: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 67
70: aload 10
invokevirtual java.io.PrintWriter.println:()V
71: aload 10
new java.lang.StringBuilder
dup
ldc " List<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "> statements = Collections.unmodifiableList(Arrays.asList("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
72: iconst_0
istore 12
start local 12 73: aload 1
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.matchRules:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 80
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor java.lang.String javax.lang.model.element.Name java.lang.String javax.lang.model.element.Element[] javax.lang.model.util.Types javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.lang.String int top java.util.Iterator
StackMap stack:
74: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleItem
astore 13
start local 13 75: iload 12
aload 1
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.matchRules:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
if_icmpne 76
ldc ""
goto 77
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor java.lang.String javax.lang.model.element.Name java.lang.String javax.lang.model.element.Element[] javax.lang.model.util.Types javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.lang.String int org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleItem java.util.Iterator
StackMap stack:
76: ldc ","
StackMap locals:
StackMap stack: java.lang.String
77: astore 15
start local 15 78: aload 10
ldc " %s%s\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 13
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleItem.ruleBuilder:()Ljava/lang/String;
aastore
dup
iconst_1
aload 15
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
79: iinc 12 1
end local 15 end local 13 80: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor java.lang.String javax.lang.model.element.Name java.lang.String javax.lang.model.element.Element[] javax.lang.model.util.Types javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter java.lang.String int top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 74
81: aload 10
ldc " ));"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
82: aload 10
ldc " // Checkstyle: resume"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
83: aload 10
ldc " return statements;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
84: aload 10
ldc " }"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
85: aload 10
invokevirtual java.io.PrintWriter.println:()V
86: aload 10
ldc "}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 12 end local 11 87: aload 10
ifnull 93
aload 10
invokevirtual java.io.PrintWriter.close:()V
goto 93
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor java.lang.String javax.lang.model.element.Name java.lang.String javax.lang.model.element.Element[] javax.lang.model.util.Types javax.annotation.processing.Filer java.lang.Throwable java.lang.Throwable java.io.PrintWriter
StackMap stack: java.lang.Throwable
88: astore 8
aload 10
ifnull 89
aload 10
invokevirtual java.io.PrintWriter.close:()V
end local 10 StackMap locals:
StackMap stack:
89: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
90: astore 9
aload 8
ifnonnull 91
aload 9
astore 8
goto 92
StackMap locals:
StackMap stack:
91: aload 8
aload 9
if_acmpeq 92
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
92: aload 8
athrow
93: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
aload 2
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 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "org.graalvm.compiler.core.match.MatchStatementSet"
aload 5
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.createProviderFile:(Ljava/lang/String;Ljava/lang/String;[Ljavax/lang/model/element/Element;)V
94: return
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 95 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 95 1 info Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleDescriptor;
1 95 2 pkg Ljava/lang/String;
2 95 3 topDeclaringClass Ljavax/lang/model/element/Name;
3 95 4 matchStatementClassName Ljava/lang/String;
4 95 5 originatingElements [Ljavax/lang/model/element/Element;
5 95 6 typeUtils Ljavax/lang/model/util/Types;
6 95 7 filer Ljavax/annotation/processing/Filer;
8 89 10 out Ljava/io/PrintWriter;
20 23 11 p Ljava/lang/String;
29 56 11 invoker Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MethodInvokerItem;
30 56 13 args Ljava/lang/StringBuilder;
31 56 14 types Ljava/lang/StringBuilder;
32 56 15 count I
33 56 16 index I
35 42 17 arg Ljavax/lang/model/element/VariableElement;
58 87 11 desc Ljava/lang/String;
68 69 12 positionDeclaration Ljava/lang/String;
73 87 12 i I
75 80 13 matchRule Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleItem;
78 80 15 comma Ljava/lang/String;
Exception table:
from to target type
8 87 88 any
7 90 90 any
MethodParameters:
Name Flags
info
protected java.io.PrintWriter createSourceFile(java.lang.String, java.lang.String, javax.annotation.processing.Filer, javax.lang.model.element.Element[]);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljavax/annotation/processing/Filer;[Ljavax/lang/model/element/Element;)Ljava/io/PrintWriter;
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
new java.lang.StringBuilder
dup
aload 1
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 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokeinterface javax.annotation.processing.Filer.createSourceFile:(Ljava/lang/CharSequence;[Ljavax/lang/model/element/Element;)Ljavax/tools/JavaFileObject;
astore 5
start local 5 1: new org.graalvm.compiler.core.match.processor.MatchProcessor$1
dup
aload 0
aload 5
invokeinterface javax.tools.JavaFileObject.openWriter:()Ljava/io/Writer;
invokespecial org.graalvm.compiler.core.match.processor.MatchProcessor$1.<init>:(Lorg/graalvm/compiler/core/match/processor/MatchProcessor;Ljava/io/Writer;)V
2: areturn
end local 5 3: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 4: new java.lang.RuntimeException
dup
aload 5
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
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 5 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 5 1 pkg Ljava/lang/String;
0 5 2 relativeName Ljava/lang/String;
0 5 3 filer Ljavax/annotation/processing/Filer;
0 5 4 originatingElements [Ljavax/lang/model/element/Element;
1 3 5 sourceFile Ljavax/tools/JavaFileObject;
4 5 5 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
MethodParameters:
Name Flags
pkg
relativeName
filer
originatingElements
private static javax.lang.model.element.TypeElement topDeclaringType(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/TypeElement;
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.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
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_acmpne 3
2: StackMap locals: javax.lang.model.element.Element
StackMap stack:
aload 0
checkcast javax.lang.model.element.TypeElement
areturn
3: StackMap locals:
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.topDeclaringType:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/TypeElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 element Ljavax/lang/model/element/Element;
1 4 1 enclosing Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
element
public boolean doProcess(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=12, locals=16, 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_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "Starting round %s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.logMessage:(Ljava/lang/String;[Ljava/lang/Object;)V
3: aload 0
ldc "org.graalvm.compiler.core.match.MatchRules"
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getTypeElement:(Ljava/lang/String;)Ljavax/lang/model/element/TypeElement;
astore 3
start local 3 4: aload 0
ldc "org.graalvm.compiler.core.match.MatchRule"
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getTypeElement:(Ljava/lang/String;)Ljavax/lang/model/element/TypeElement;
astore 4
start local 4 5: aload 3
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
astore 5
start local 5 6: aload 4
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
astore 6
start local 6 7: aload 0
ldc "org.graalvm.compiler.core.match.MatchableNode"
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getTypeElement:(Ljava/lang/String;)Ljavax/lang/model/element/TypeElement;
astore 7
start local 7 8: aload 0
ldc "org.graalvm.compiler.core.match.MatchableNodes"
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getTypeElement:(Ljava/lang/String;)Ljavax/lang/model/element/TypeElement;
astore 8
start local 8 9: aload 0
aload 2
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentRound:Ljavax/annotation/processing/RoundEnvironment;
10: aload 2
aload 7
invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 15
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor java.util.Set javax.annotation.processing.RoundEnvironment javax.lang.model.element.TypeElement javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.element.TypeElement top java.util.Iterator
StackMap stack:
11: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 9
start local 9 12: aload 0
aload 9
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentElement:Ljavax/lang/model/element/Element;
13: aload 0
ldc "%s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 9
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.logMessage:(Ljava/lang/String;[Ljava/lang/Object;)V
14: aload 0
aload 9
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.processMatchableNodes:(Ljavax/lang/model/element/Element;)V
end local 9 15: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
16: aload 2
aload 8
invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 21
StackMap locals:
StackMap stack:
17: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 9
start local 9 18: aload 0
aload 9
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentElement:Ljavax/lang/model/element/Element;
19: aload 0
ldc "%s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 9
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.logMessage:(Ljava/lang/String;[Ljava/lang/Object;)V
20: aload 0
aload 9
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.processMatchableNodes:(Ljavax/lang/model/element/Element;)V
end local 9 21: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
22: aload 0
ldc "org.graalvm.compiler.nodes.ValueNode"
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getTypeElement:(Ljava/lang/String;)Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
astore 9
start local 9 23: aload 0
new org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor
dup
aload 9
ldc "Value"
ldc "ValueNode"
ldc "org.graalvm.compiler.nodes"
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
iconst_0
iconst_0
iconst_0
invokespecial org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor.<init>:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;ZZZZ)V
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.valueType:Lorg/graalvm/compiler/core/match/processor/MatchProcessor$TypeDescriptor;
24: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 10
start local 10 25: aload 2
aload 4
invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 31
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor java.util.Set javax.annotation.processing.RoundEnvironment javax.lang.model.element.TypeElement javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror java.util.Map top java.util.Iterator
StackMap stack:
26: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 11
start local 11 27: aload 0
aload 11
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentElement:Ljavax/lang/model/element/Element;
28: aload 0
aload 11
aload 6
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
astore 13
start local 13 29: aload 13
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
astore 14
start local 14 30: aload 0
aload 10
aload 11
aload 14
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.processMatchRules:(Ljava/util/Map;Ljavax/lang/model/element/Element;Ljava/util/List;)V
end local 14 end local 13 end local 11 31: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
32: aload 2
aload 3
invokeinterface javax.annotation.processing.RoundEnvironment.getElementsAnnotatedWith:(Ljavax/lang/model/element/TypeElement;)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 38
StackMap locals:
StackMap stack:
33: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 11
start local 11 34: aload 0
aload 11
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentElement:Ljavax/lang/model/element/Element;
35: aload 0
aload 11
aload 5
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
astore 13
start local 13 36: aload 13
ldc "value"
ldc Ljavax/lang/model/element/AnnotationMirror;
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotationValueList:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List;
astore 14
start local 14 37: aload 0
aload 10
aload 11
aload 14
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.processMatchRules:(Ljava/util/Map;Ljavax/lang/model/element/Element;Ljava/util/List;)V
end local 14 end local 13 end local 11 38: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 33
39: aload 0
aconst_null
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentElement:Ljavax/lang/model/element/Element;
40: aload 10
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 12
goto 43
StackMap locals:
StackMap stack:
41: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor
astore 11
start local 11 42: aload 0
aload 11
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.createFiles:(Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleDescriptor;)V
end local 11 43: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 41
end local 10 end local 9 44: goto 53
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor java.util.Set javax.annotation.processing.RoundEnvironment javax.lang.model.element.TypeElement javax.lang.model.element.TypeElement javax.lang.model.type.TypeMirror javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.element.TypeElement
StackMap stack: java.lang.Throwable
45: astore 9
start local 9 46: aload 0
aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentElement:Ljavax/lang/model/element/Element;
aload 9
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.reportExceptionThrow:(Ljavax/lang/model/element/Element;Ljava/lang/Throwable;)V
end local 9 47: aload 0
aconst_null
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentElement:Ljavax/lang/model/element/Element;
48: aload 0
aconst_null
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentRound:Ljavax/annotation/processing/RoundEnvironment;
goto 55
49: StackMap locals:
StackMap stack: java.lang.Throwable
astore 15
50: aload 0
aconst_null
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentElement:Ljavax/lang/model/element/Element;
51: aload 0
aconst_null
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentRound:Ljavax/annotation/processing/RoundEnvironment;
52: aload 15
athrow
53: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentElement:Ljavax/lang/model/element/Element;
54: aload 0
aconst_null
putfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentRound:Ljavax/annotation/processing/RoundEnvironment;
55: StackMap locals:
StackMap stack:
iconst_1
ireturn
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 56 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 56 1 annotations Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;
0 56 2 roundEnv Ljavax/annotation/processing/RoundEnvironment;
4 56 3 matchRulesTypeElement Ljavax/lang/model/element/TypeElement;
5 56 4 matchRuleTypeElement Ljavax/lang/model/element/TypeElement;
6 56 5 matchRulesTypeMirror Ljavax/lang/model/type/TypeMirror;
7 56 6 matchRuleTypeMirror Ljavax/lang/model/type/TypeMirror;
8 56 7 matchableNodeTypeElement Ljavax/lang/model/element/TypeElement;
9 56 8 matchableNodesTypeElement Ljavax/lang/model/element/TypeElement;
12 15 9 element Ljavax/lang/model/element/Element;
18 21 9 element Ljavax/lang/model/element/Element;
23 44 9 valueTypeMirror Ljavax/lang/model/type/TypeMirror;
25 44 10 map Ljava/util/Map<Ljavax/lang/model/element/TypeElement;Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleDescriptor;>;
27 31 11 element Ljavax/lang/model/element/Element;
29 31 13 matchRule Ljavax/lang/model/element/AnnotationMirror;
30 31 14 matchRuleAnnotations Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
34 38 11 element Ljavax/lang/model/element/Element;
36 38 13 matchRules Ljavax/lang/model/element/AnnotationMirror;
37 38 14 matchRuleAnnotations Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
42 43 11 info Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleDescriptor;
46 47 9 t Ljava/lang/Throwable;
Exception table:
from to target type
10 44 45 Class java.lang.Throwable
10 47 49 any
Signature: (Ljava/util/Set<+Ljavax/lang/model/element/TypeElement;>;Ljavax/annotation/processing/RoundEnvironment;)Z
MethodParameters:
Name Flags
annotations
roundEnv
private void processMatchableNodes(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processedMatchableNodes:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 19
1: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processedMatchableNodes:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: aload 0
aload 1
aload 0
ldc "org.graalvm.compiler.core.match.MatchableNodes"
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
astore 3
start local 3 3: aload 3
ifnull 6
4: aload 3
ldc "value"
ldc Ljavax/lang/model/element/AnnotationMirror;
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotationValueList:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List;
astore 2
start local 2 5: goto 11
end local 2 6: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element top javax.lang.model.element.AnnotationMirror
StackMap stack:
aload 0
aload 1
aload 0
ldc "org.graalvm.compiler.core.match.MatchableNode"
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getType:(Ljava/lang/String;)Ljavax/lang/model/type/TypeMirror;
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotation:(Ljavax/lang/model/element/Element;Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/AnnotationMirror;
astore 3
7: aload 3
ifnull 10
8: aload 3
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
astore 2
start local 2 9: goto 11
end local 2 10: StackMap locals:
StackMap stack:
return
start local 2 11: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element java.util.List javax.lang.model.element.AnnotationMirror
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.topDeclaringType:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/TypeElement;
astore 4
start local 4 12: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element java.util.List javax.lang.model.element.AnnotationMirror javax.lang.model.element.TypeElement top java.util.Iterator
StackMap stack:
13: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationMirror
astore 5
start local 5 14: aload 0
aload 1
aload 4
aload 5
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.processMatchableNode:(Ljavax/lang/model/element/Element;Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/element/AnnotationMirror;)V
end local 5 15: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
end local 4 end local 3 end local 2 16: goto 19
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element
StackMap stack: java.lang.Throwable
17: astore 2
start local 2 18: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.reportExceptionThrow:(Ljavax/lang/model/element/Element;Ljava/lang/Throwable;)V
end local 2 19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 20 1 element Ljavax/lang/model/element/Element;
5 6 2 matchableNodeAnnotations Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
9 10 2 matchableNodeAnnotations Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
11 16 2 matchableNodeAnnotations Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
3 16 3 mirror Ljavax/lang/model/element/AnnotationMirror;
12 16 4 topDeclaringType Ljavax/lang/model/element/TypeElement;
14 15 5 matchableNode Ljavax/lang/model/element/AnnotationMirror;
18 19 2 t Ljava/lang/Throwable;
Exception table:
from to target type
1 10 17 Class java.lang.Throwable
11 16 17 Class java.lang.Throwable
MethodParameters:
Name Flags
element
private void processMatchableNode(javax.lang.model.element.Element, javax.lang.model.element.TypeElement, javax.lang.model.element.AnnotationMirror);
descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/element/AnnotationMirror;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "processMatchableNode %s %s %s\n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 3
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.logMessage:(Ljava/lang/String;[Ljava/lang/Object;)V
1: aload 3
ldc "nodeClass"
ldc Ljavax/lang/model/type/TypeMirror;
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
astore 6
start local 6 2: aload 6
ifnonnull 4
3: new java.lang.InternalError
dup
new java.lang.StringBuilder
dup
ldc "Can't get mirror for node class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element javax.lang.model.element.TypeElement javax.lang.model.element.AnnotationMirror top top javax.lang.model.type.TypeMirror
StackMap stack:
aload 6
invokeinterface javax.lang.model.type.TypeMirror.toString:()Ljava/lang/String;
ldc "org.graalvm.compiler.core.match.MatchableNode"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 2
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 4
start local 4 6: goto 8
end local 4 7: StackMap locals:
StackMap stack:
aload 6
invokeinterface javax.lang.model.type.TypeMirror.toString:()Ljava/lang/String;
astore 4
start local 4 8: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element javax.lang.model.element.TypeElement javax.lang.model.element.AnnotationMirror java.lang.String top javax.lang.model.type.TypeMirror
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
aload 4
invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
astore 7
start local 7 9: aload 7
ifnonnull 12
10: aload 0
aload 1
aload 3
ldc "Class \"%s\" cannot be resolved to a type"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;[Ljava/lang/Object;)V
11: return
12: StackMap locals: javax.lang.model.element.TypeElement
StackMap stack:
aload 0
aload 7
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.findPackage:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
astore 5
start local 5 13: getstatic org.graalvm.compiler.core.match.processor.MatchProcessor.$assertionsDisabled:Z
ifne 14
aload 4
aload 5
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element javax.lang.model.element.TypeElement javax.lang.model.element.AnnotationMirror java.lang.String java.lang.String javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement
StackMap stack:
aload 4
aload 5
invokevirtual java.lang.String.length:()I
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
15: getstatic org.graalvm.compiler.core.match.processor.MatchProcessor.$assertionsDisabled:Z
ifne 16
aload 4
ldc "Node"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 4
iconst_0
aload 4
invokevirtual java.lang.String.length:()I
iconst_4
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 8
start local 8 17: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
astore 9
start local 9 18: aload 9
aload 6
invokeinterface javax.lang.model.util.Types.asElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 10
start local 10 19: aload 3
ldc "inputs"
ldc Ljava/lang/String;
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotationValueList:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List;
astore 11
start local 11 20: aload 11
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 36
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element javax.lang.model.element.TypeElement javax.lang.model.element.AnnotationMirror java.lang.String java.lang.String javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement java.lang.String javax.lang.model.util.Types javax.lang.model.element.TypeElement java.util.List top java.util.Iterator
StackMap stack:
21: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 12
start local 12 22: iconst_0
istore 14
start local 14 23: aload 10
astore 15
start local 15 24: goto 33
25: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element javax.lang.model.element.TypeElement javax.lang.model.element.AnnotationMirror java.lang.String java.lang.String javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement java.lang.String javax.lang.model.util.Types javax.lang.model.element.TypeElement java.util.List java.lang.String java.util.Iterator int javax.lang.model.element.TypeElement
StackMap stack:
aload 15
invokeinterface javax.lang.model.element.TypeElement.getEnclosedElements:()Ljava/util/List;
invokestatic javax.lang.model.util.ElementFilter.fieldsIn:(Ljava/lang/Iterable;)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
goto 30
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element javax.lang.model.element.TypeElement javax.lang.model.element.AnnotationMirror java.lang.String java.lang.String javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement java.lang.String javax.lang.model.util.Types javax.lang.model.element.TypeElement java.util.List java.lang.String java.util.Iterator int javax.lang.model.element.TypeElement top java.util.Iterator
StackMap stack:
26: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.Element
astore 16
start local 16 27: aload 16
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
aload 12
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 30
28: iconst_1
istore 14
29: goto 31
end local 16 30: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
31: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element javax.lang.model.element.TypeElement javax.lang.model.element.AnnotationMirror java.lang.String java.lang.String javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement java.lang.String javax.lang.model.util.Types javax.lang.model.element.TypeElement java.util.List java.lang.String java.util.Iterator int javax.lang.model.element.TypeElement
StackMap stack:
aload 15
invokeinterface javax.lang.model.element.TypeElement.getSuperclass:()Ljavax/lang/model/type/TypeMirror;
astore 16
start local 16 32: aload 9
aload 16
invokeinterface javax.lang.model.util.Types.asElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 15
end local 16 33: StackMap locals:
StackMap stack:
iload 14
ifne 34
aload 15
ifnonnull 25
34: StackMap locals:
StackMap stack:
iload 14
ifne 36
35: aload 0
aload 1
aload 3
ldc "Input named \"%s\" doesn't exist in %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 12
aastore
dup
iconst_1
aload 10
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;[Ljava/lang/Object;)V
end local 15 end local 14 end local 12 36: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element javax.lang.model.element.TypeElement javax.lang.model.element.AnnotationMirror java.lang.String java.lang.String javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement java.lang.String javax.lang.model.util.Types javax.lang.model.element.TypeElement java.util.List top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
37: aload 3
ldc "commutative"
ldc Ljava/lang/Boolean;
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 12
start local 12 38: aload 3
ldc "shareable"
ldc Ljava/lang/Boolean;
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 13
start local 13 39: aload 3
ldc "consumable"
ldc Ljava/lang/Boolean;
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 14
start local 14 40: aload 3
ldc "ignoresSideEffects"
ldc Ljava/lang/Boolean;
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 15
start local 15 41: aload 0
aload 6
aload 8
aload 4
aload 5
aload 11
iload 12
iload 13
iload 14
iload 15
aload 1
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.declareType:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;ZZZZLjavax/lang/model/element/Element;)V
42: return
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 43 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 43 1 element Ljavax/lang/model/element/Element;
0 43 2 topDeclaringType Ljavax/lang/model/element/TypeElement;
0 43 3 matchable Ljavax/lang/model/element/AnnotationMirror;
6 7 4 nodeClass Ljava/lang/String;
8 43 4 nodeClass Ljava/lang/String;
13 43 5 nodePackage Ljava/lang/String;
2 43 6 nodeClassMirror Ljavax/lang/model/type/TypeMirror;
9 43 7 typeElement Ljavax/lang/model/element/TypeElement;
17 43 8 shortName Ljava/lang/String;
18 43 9 typeUtils Ljavax/lang/model/util/Types;
19 43 10 nodeClassElement Ljavax/lang/model/element/TypeElement;
20 43 11 inputs Ljava/util/List<Ljava/lang/String;>;
22 36 12 input Ljava/lang/String;
23 36 14 ok Z
24 36 15 current Ljavax/lang/model/element/TypeElement;
27 30 16 fieldElement Ljavax/lang/model/element/Element;
32 33 16 theSuper Ljavax/lang/model/type/TypeMirror;
38 43 12 commutative Z
39 43 13 shareable Z
40 43 14 consumable Z
41 43 15 ignoresSideEffects Z
MethodParameters:
Name Flags
element
topDeclaringType
matchable
private void processMatchRules(java.util.Map<javax.lang.model.element.TypeElement, org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor>, javax.lang.model.element.Element, java.util.List<javax.lang.model.element.AnnotationMirror>);
descriptor: (Ljava/util/Map;Ljavax/lang/model/element/Element;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processedMatchRules:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 16
1: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processedMatchRules:Ljava/util/Set;
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: getstatic org.graalvm.compiler.core.match.processor.MatchProcessor.$assertionsDisabled:Z
ifne 3
aload 2
instanceof javax.lang.model.element.ExecutableElement
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.findMatchableNodes:(Ljavax/lang/model/element/Element;)V
4: aload 2
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.topDeclaringType:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/TypeElement;
astore 4
start local 4 5: aload 1
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor
astore 5
start local 5 6: aload 5
ifnonnull 9
7: new org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor
dup
aload 4
invokespecial org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.<init>:(Ljavax/lang/model/element/TypeElement;)V
astore 5
8: aload 1
aload 4
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: StackMap locals: javax.lang.model.element.TypeElement org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor java.util.Map javax.lang.model.element.Element java.util.List javax.lang.model.element.TypeElement org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor top java.util.Iterator
StackMap stack:
10: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.AnnotationMirror
astore 6
start local 6 11: aload 0
aload 2
checkcast javax.lang.model.element.ExecutableElement
aload 5
aload 6
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.processMatchRule:(Ljavax/lang/model/element/ExecutableElement;Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleDescriptor;Ljavax/lang/model/element/AnnotationMirror;)V
end local 6 12: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 5 end local 4 13: goto 16
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor java.util.Map javax.lang.model.element.Element java.util.List
StackMap stack: java.lang.Throwable
14: astore 4
start local 4 15: aload 0
aload 2
aload 4
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.reportExceptionThrow:(Ljavax/lang/model/element/Element;Ljava/lang/Throwable;)V
end local 4 16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 17 1 map Ljava/util/Map<Ljavax/lang/model/element/TypeElement;Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleDescriptor;>;
0 17 2 element Ljavax/lang/model/element/Element;
0 17 3 matchRules Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;
5 13 4 topDeclaringType Ljavax/lang/model/element/TypeElement;
6 13 5 info Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleDescriptor;
11 12 6 matchRule Ljavax/lang/model/element/AnnotationMirror;
15 16 4 t Ljava/lang/Throwable;
Exception table:
from to target type
1 13 14 Class java.lang.Throwable
Signature: (Ljava/util/Map<Ljavax/lang/model/element/TypeElement;Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleDescriptor;>;Ljavax/lang/model/element/Element;Ljava/util/List<Ljavax/lang/model/element/AnnotationMirror;>;)V
MethodParameters:
Name Flags
map
element
matchRules
private void findMatchableNodes(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.processMatchableNodes:(Ljavax/lang/model/element/Element;)V
1: aload 1
invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
astore 2
start local 2 2: goto 17
3: StackMap locals: javax.lang.model.element.Element
StackMap stack:
aload 2
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 4
aload 2
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.INTERFACE:Ljavax/lang/model/element/ElementKind;
if_acmpne 16
4: StackMap locals:
StackMap stack:
aload 2
checkcast javax.lang.model.element.TypeElement
astore 3
start local 3 5: goto 15
6: StackMap locals: javax.lang.model.element.TypeElement
StackMap stack:
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.processMatchableNodes:(Ljavax/lang/model/element/Element;)V
7: aload 3
invokeinterface javax.lang.model.element.TypeElement.getInterfaces:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element javax.lang.model.element.Element javax.lang.model.element.TypeElement top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
astore 4
start local 4 9: aload 0
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.typeUtils:()Ljavax/lang/model/util/Types;
aload 4
invokeinterface javax.lang.model.util.Types.asElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/Element;
astore 6
start local 6 10: aload 0
aload 6
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.processMatchableNodes:(Ljavax/lang/model/element/Element;)V
11: aload 0
aload 6
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.findMatchableNodes:(Ljavax/lang/model/element/Element;)V
end local 6 end local 4 12: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
13: aload 3
invokeinterface javax.lang.model.element.TypeElement.getSuperclass:()Ljavax/lang/model/type/TypeMirror;
astore 4
start local 4 14: aload 0
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.typeUtils:()Ljavax/lang/model/util/Types;
aload 4
invokeinterface javax.lang.model.util.Types.asElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 3
end local 4 15: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.Element javax.lang.model.element.Element javax.lang.model.element.TypeElement
StackMap stack:
aload 3
ifnonnull 6
end local 3 16: StackMap locals:
StackMap stack:
aload 2
invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
astore 2
17: StackMap locals:
StackMap stack:
aload 2
ifnonnull 3
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 19 1 element Ljavax/lang/model/element/Element;
2 19 2 enclosing Ljavax/lang/model/element/Element;
5 16 3 current Ljavax/lang/model/element/TypeElement;
9 12 4 intf Ljavax/lang/model/type/TypeMirror;
10 12 6 interfaceElement Ljavax/lang/model/element/Element;
14 15 4 theSuper Ljavax/lang/model/type/TypeMirror;
MethodParameters:
Name Flags
element
private javax.lang.model.util.Types typeUtils();
descriptor: ()Ljavax/lang/model/util/Types;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getTypeUtils:()Ljavax/lang/model/util/Types;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
private void processMatchRule(javax.lang.model.element.ExecutableElement, org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor, javax.lang.model.element.AnnotationMirror);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleDescriptor;Ljavax/lang/model/element/AnnotationMirror;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=20, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "processMatchRule %s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.logMessage:(Ljava/lang/String;[Ljava/lang/Object;)V
1: aload 0
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.typeUtils:()Ljavax/lang/model/util/Types;
astore 4
start local 4 2: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.PUBLIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 5
3: aload 0
aload 1
ldc "MatchRule method %s must be public"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
4: return
5: StackMap locals: javax.lang.model.util.Types
StackMap stack:
aload 1
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 8
6: aload 0
aload 1
ldc "MatchRule method %s must be non-static"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
7: return
8: StackMap locals:
StackMap stack:
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
astore 5
start local 5 9: aload 4
aload 5
aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.processingEnv:Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getElementUtils:()Ljavax/lang/model/util/Elements;
ldc "org.graalvm.compiler.core.match.ComplexMatchResult"
invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.isSameType:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 12
10: aload 0
aload 1
ldc "MatchRule method return type must be %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "org.graalvm.compiler.core.match.ComplexMatchResult"
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
11: return
12: StackMap locals: javax.lang.model.type.TypeMirror
StackMap stack:
aload 3
ldc "value"
ldc Ljava/lang/String;
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 13: new org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser
dup
aload 0
aload 6
invokespecial org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser.<init>:(Lorg/graalvm/compiler/core/match/processor/MatchProcessor;Ljava/lang/String;)V
astore 7
start local 7 14: aload 7
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser.capturedTypes:()Ljava/util/ArrayList;
astore 8
start local 8 15: aload 7
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser.capturedNames:()Ljava/util/ArrayList;
astore 9
start local 9 16: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
astore 10
start local 10 17: aload 8
invokevirtual java.util.ArrayList.size:()I
iconst_1
iadd
aload 10
invokeinterface java.util.List.size:()I
if_icmpge 20
18: aload 0
aload 1
ldc "Too many arguments for match method %s != %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
invokevirtual java.util.ArrayList.size:()I
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 10
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
19: return
20: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.ExecutableElement org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor javax.lang.model.element.AnnotationMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror java.lang.String org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser java.util.ArrayList java.util.ArrayList java.util.List
StackMap stack:
aload 10
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 31
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.ExecutableElement org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor javax.lang.model.element.AnnotationMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror java.lang.String org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser java.util.ArrayList java.util.ArrayList java.util.List top java.util.Iterator
StackMap stack:
21: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 11
start local 11 22: aload 11
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 13
start local 13 23: aload 9
aload 13
invokevirtual java.util.ArrayList.indexOf:(Ljava/lang/Object;)I
istore 14
start local 14 24: iload 14
iconst_m1
if_icmpne 27
25: aload 0
aload 1
ldc "Argument \"%s\" isn't captured in the match rule"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 13
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
26: return
27: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.ExecutableElement org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor javax.lang.model.element.AnnotationMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror java.lang.String org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser java.util.ArrayList java.util.ArrayList java.util.List javax.lang.model.element.VariableElement java.util.Iterator java.lang.String int
StackMap stack:
aload 11
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
astore 15
start local 15 28: aload 4
aload 8
iload 14
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor.mirror:Ljavax/lang/model/type/TypeMirror;
aload 15
invokeinterface javax.lang.model.util.Types.isAssignable:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifne 31
29: aload 0
aload 1
ldc "Captured value \"%s\" of type %s is not assignable to argument of type %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 13
aastore
dup
iconst_1
aload 8
iload 14
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor.mirror:Ljavax/lang/model/type/TypeMirror;
aastore
dup
iconst_2
aload 15
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
30: return
end local 15 end local 14 end local 13 end local 11 31: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.ExecutableElement org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor javax.lang.model.element.AnnotationMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror java.lang.String org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser java.util.ArrayList java.util.ArrayList java.util.List top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
32: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 11
start local 11 33: aload 2
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.invokers:Ljava/util/Map;
aload 11
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem
astore 12
start local 12 34: aload 12
ifnonnull 38
35: new org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem
dup
aload 11
aload 1
invokestatic org.graalvm.compiler.core.match.processor.MatchProcessor.topDeclaringType:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/TypeElement;
invokeinterface javax.lang.model.element.TypeElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
aload 1
aload 10
invokespecial org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.<init>:(Ljava/lang/String;Ljava/lang/String;Ljavax/lang/model/element/ExecutableElement;Ljava/util/List;)V
astore 12
36: aload 2
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.invokers:Ljava/util/Map;
aload 11
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
37: goto 43
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.ExecutableElement org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor javax.lang.model.element.AnnotationMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror java.lang.String org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser java.util.ArrayList java.util.ArrayList java.util.List java.lang.String org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem
StackMap stack:
38: aload 12
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.method:Ljavax/lang/model/element/ExecutableElement;
aload 1
if_acmpeq 43
39: aload 0
aload 1
ldc "Use unique method names for match methods: %s.%s != %s.%s"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getReceiverType:()Ljavax/lang/model/type/TypeMirror;
aastore
dup
iconst_1
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
dup
iconst_2
aload 12
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.method:Ljavax/lang/model/element/ExecutableElement;
invokeinterface javax.lang.model.element.ExecutableElement.getReceiverType:()Ljavax/lang/model/type/TypeMirror;
aastore
dup
iconst_3
40: aload 12
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem.method:Ljavax/lang/model/element/ExecutableElement;
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
aastore
41: invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
42: return
43: StackMap locals:
StackMap stack:
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getEnclosingElement:()Ljavax/lang/model/element/Element;
astore 13
start local 13 44: ldc ""
astore 14
start local 14 45: ldc ""
astore 15
start local 15 46: aload 2
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.originatingElements:Ljava/util/Set;
astore 16
start local 16 47: aload 16
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
48: goto 62
49: StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.ExecutableElement org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor javax.lang.model.element.AnnotationMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror java.lang.String org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser java.util.ArrayList java.util.ArrayList java.util.List java.lang.String org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem javax.lang.model.element.Element java.lang.String java.lang.String java.util.Set
StackMap stack:
aload 13
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 50
aload 13
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.INTERFACE:Ljavax/lang/model/element/ElementKind;
if_acmpeq 50
aload 13
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
getstatic javax.lang.model.element.ElementKind.ENUM:Ljavax/lang/model/element/ElementKind;
if_acmpne 57
50: StackMap locals:
StackMap stack:
aload 13
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 53
51: aload 0
aload 1
ldc "MatchRule cannot be declared in a private %s %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 13
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
invokevirtual javax.lang.model.element.ElementKind.name:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aastore
dup
iconst_1
aload 13
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
52: return
53: StackMap locals:
StackMap stack:
aload 16
aload 13
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
54: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 13
invokeinterface javax.lang.model.element.Element.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 15
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
55: ldc "."
astore 15
56: goto 61
StackMap locals:
StackMap stack:
57: aload 13
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_acmpne 59
58: goto 63
59: StackMap locals:
StackMap stack:
aload 0
aload 1
ldc "MatchRule cannot be declared in a %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 13
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
invokevirtual javax.lang.model.element.ElementKind.name:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
aastore
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
60: return
61: StackMap locals:
StackMap stack:
aload 13
invokeinterface javax.lang.model.element.Element.getEnclosingElement:()Ljavax/lang/model/element/Element;
astore 13
62: StackMap locals:
StackMap stack:
aload 13
ifnonnull 49
63: StackMap locals:
StackMap stack:
aload 16
aload 7
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser.originatingElements:Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
64: aload 2
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.requiredPackages:Ljava/util/Set;
aload 7
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser.requiredPackages:Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
65: aload 7
aload 2
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.positionDeclarations:Ljava/util/Set;
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser.generatePositionDeclarations:(Ljava/util/Set;)V
66: aload 7
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser.generateVariants:()Ljava/util/List;
astore 17
start local 17 67: aload 17
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 19
goto 70
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.ExecutableElement org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor javax.lang.model.element.AnnotationMirror javax.lang.model.util.Types javax.lang.model.type.TypeMirror java.lang.String org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser java.util.ArrayList java.util.ArrayList java.util.List java.lang.String org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem javax.lang.model.element.Element java.lang.String java.lang.String java.util.Set java.util.List top java.util.Iterator
StackMap stack:
68: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 18
start local 18 69: aload 2
getfield org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor.matchRules:Ljava/util/List;
new org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleItem
dup
aload 18
aload 12
invokespecial org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleItem.<init>:(Ljava/lang/String;Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MethodInvokerItem;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 18 70: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 68
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 71: goto 74
StackMap locals: org.graalvm.compiler.core.match.processor.MatchProcessor javax.lang.model.element.ExecutableElement org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor javax.lang.model.element.AnnotationMirror javax.lang.model.util.Types
StackMap stack: org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError
72: astore 5
start local 5 73: aload 0
aload 1
aload 3
aload 5
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError.getMessage:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.printError:(Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;[Ljava/lang/Object;)V
end local 5 74: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 75 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 75 1 method Ljavax/lang/model/element/ExecutableElement;
0 75 2 info Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MatchRuleDescriptor;
0 75 3 matchRule Ljavax/lang/model/element/AnnotationMirror;
2 75 4 typeUtils Ljavax/lang/model/util/Types;
9 71 5 returnType Ljavax/lang/model/type/TypeMirror;
13 71 6 rule Ljava/lang/String;
14 71 7 parser Lorg/graalvm/compiler/core/match/processor/MatchProcessor$RuleParser;
15 71 8 expectedTypes Ljava/util/ArrayList<Lorg/graalvm/compiler/core/match/processor/MatchProcessor$TypeDescriptor;>;
16 71 9 expectedNames Ljava/util/ArrayList<Ljava/lang/String;>;
17 71 10 actualParameters Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
22 31 11 parameter Ljavax/lang/model/element/VariableElement;
23 31 13 name Ljava/lang/String;
24 31 14 nameIndex I
28 31 15 type Ljavax/lang/model/type/TypeMirror;
33 71 11 methodName Ljava/lang/String;
34 71 12 invoker Lorg/graalvm/compiler/core/match/processor/MatchProcessor$MethodInvokerItem;
44 71 13 enclosing Ljavax/lang/model/element/Element;
45 71 14 declaringClass Ljava/lang/String;
46 71 15 separator Ljava/lang/String;
47 71 16 originatingElementsList Ljava/util/Set<Ljavax/lang/model/element/Element;>;
67 71 17 matches Ljava/util/List<Ljava/lang/String;>;
69 70 18 match Ljava/lang/String;
73 74 5 e Lorg/graalvm/compiler/core/match/processor/MatchProcessor$RuleParseError;
Exception table:
from to target type
8 11 72 Class org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError
12 19 72 Class org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError
20 26 72 Class org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError
27 30 72 Class org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError
31 42 72 Class org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError
43 52 72 Class org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError
53 60 72 Class org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError
61 71 72 Class org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError
MethodParameters:
Name Flags
method
info
matchRule
private javax.lang.model.element.Element elementForMessage(javax.lang.model.element.Element);
descriptor: (Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentRound:Ljavax/annotation/processing/RoundEnvironment;
ifnull 2
aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentRound:Ljavax/annotation/processing/RoundEnvironment;
invokeinterface javax.annotation.processing.RoundEnvironment.getRootElements:()Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 2
aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentElement:Ljavax/lang/model/element/Element;
ifnull 2
1: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.currentElement:Ljavax/lang/model/element/Element;
areturn
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 3 1 e Ljavax/lang/model/element/Element;
MethodParameters:
Name Flags
e
private void printError(javax.lang.model.element.Element, java.lang.String, java.lang.Object[]);
descriptor: (Ljavax/lang/model/element/Element;Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.elementForMessage:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
astore 4
start local 4 1: aload 4
aload 1
if_acmpne 2
ldc ""
goto 3
StackMap locals: javax.lang.model.element.Element
StackMap stack:
2: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
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;
StackMap locals:
StackMap stack: java.lang.String
3: astore 5
start local 5 4: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.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;
new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
aload 3
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;)V
5: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 6 1 annotatedElement Ljavax/lang/model/element/Element;
0 6 2 format Ljava/lang/String;
0 6 3 args [Ljava/lang/Object;
1 6 4 e Ljavax/lang/model/element/Element;
4 6 5 prefix Ljava/lang/String;
MethodParameters:
Name Flags
annotatedElement
format
args
private void printError(javax.lang.model.element.Element, javax.lang.model.element.AnnotationMirror, java.lang.String, java.lang.Object[]);
descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;[Ljava/lang/Object;)V
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.match.processor.MatchProcessor.elementForMessage:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/Element;
astore 5
start local 5 1: aload 5
aload 1
if_acmpne 2
ldc ""
goto 3
StackMap locals: javax.lang.model.element.Element
StackMap stack:
2: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
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;
StackMap locals:
StackMap stack: java.lang.String
3: astore 6
start local 6 4: aload 0
getfield org.graalvm.compiler.core.match.processor.MatchProcessor.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;
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
aload 4
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
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
5: return
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 6 0 this Lorg/graalvm/compiler/core/match/processor/MatchProcessor;
0 6 1 annotatedElement Ljavax/lang/model/element/Element;
0 6 2 annotation Ljavax/lang/model/element/AnnotationMirror;
0 6 3 format Ljava/lang/String;
0 6 4 args [Ljava/lang/Object;
1 6 5 e Ljavax/lang/model/element/Element;
4 6 6 prefix Ljava/lang/String;
MethodParameters:
Name Flags
annotatedElement
annotation
format
args
}
SourceFile: "MatchProcessor.java"
NestMembers:
org.graalvm.compiler.core.match.processor.MatchProcessor$1 org.graalvm.compiler.core.match.processor.MatchProcessor$MatchDescriptor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleItem org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor
InnerClasses:
public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic
public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
org.graalvm.compiler.core.match.processor.MatchProcessor$1
MatchDescriptor = org.graalvm.compiler.core.match.processor.MatchProcessor$MatchDescriptor of org.graalvm.compiler.core.match.processor.MatchProcessor
MatchRuleDescriptor = org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleDescriptor of org.graalvm.compiler.core.match.processor.MatchProcessor
MatchRuleItem = org.graalvm.compiler.core.match.processor.MatchProcessor$MatchRuleItem of org.graalvm.compiler.core.match.processor.MatchProcessor
MethodInvokerItem = org.graalvm.compiler.core.match.processor.MatchProcessor$MethodInvokerItem of org.graalvm.compiler.core.match.processor.MatchProcessor
private RuleParseError = org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParseError of org.graalvm.compiler.core.match.processor.MatchProcessor
private RuleParser = org.graalvm.compiler.core.match.processor.MatchProcessor$RuleParser of org.graalvm.compiler.core.match.processor.MatchProcessor
TypeDescriptor = org.graalvm.compiler.core.match.processor.MatchProcessor$TypeDescriptor of org.graalvm.compiler.core.match.processor.MatchProcessor
RuntimeVisibleAnnotations:
javax.annotation.processing.SupportedAnnotationTypes(value = {"org.graalvm.compiler.core.match.MatchRule", "org.graalvm.compiler.core.match.MatchRules", "org.graalvm.compiler.core.match.MatchableNode", "org.graalvm.compiler.core.match.MatchableNodes"})