public final class org.graalvm.compiler.replacements.processor.ClassSubstitutionHandler extends org.graalvm.compiler.replacements.processor.AnnotationHandler
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.replacements.processor.ClassSubstitutionHandler
super_class: org.graalvm.compiler.replacements.processor.AnnotationHandler
{
static final java.lang.String CLASS_SUBSTITUTION_CLASS_NAME;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "org.graalvm.compiler.api.replacements.ClassSubstitution"
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/replacements/processor/ClassSubstitutionHandler;
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.replacements.processor.ClassSubstitutionHandler.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.processor.AbstractProcessor);
descriptor: (Lorg/graalvm/compiler/processor/AbstractProcessor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "org.graalvm.compiler.api.replacements.ClassSubstitution"
invokespecial org.graalvm.compiler.replacements.processor.AnnotationHandler.<init>:(Lorg/graalvm/compiler/processor/AbstractProcessor;Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/processor/ClassSubstitutionHandler;
0 2 1 env Lorg/graalvm/compiler/processor/AbstractProcessor;
MethodParameters:
Name Flags
env
public void process(javax.lang.model.element.Element, javax.lang.model.element.AnnotationMirror, org.graalvm.compiler.replacements.processor.PluginGenerator);
descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;Lorg/graalvm/compiler/replacements/processor/PluginGenerator;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
invokevirtual javax.lang.model.element.ElementKind.isClass:()Z
ifne 3
1: getstatic org.graalvm.compiler.replacements.processor.ClassSubstitutionHandler.$assertionsDisabled:Z
ifne 2
new java.lang.AssertionError
dup
ldc "Element is guaranteed to be a class."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 1
checkcast javax.lang.model.element.TypeElement
astore 4
start local 4 4: aload 0
getfield org.graalvm.compiler.replacements.processor.ClassSubstitutionHandler.processor:Lorg/graalvm/compiler/processor/AbstractProcessor;
aload 4
aload 2
invokestatic org.graalvm.compiler.replacements.processor.ClassSubstitutionHandler.resolveOriginalType:(Lorg/graalvm/compiler/processor/AbstractProcessor;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)Ljavax/lang/model/element/TypeElement;
astore 5
start local 5 5: aload 5
ifnonnull 7
6: return
7: StackMap locals: javax.lang.model.element.TypeElement javax.lang.model.element.TypeElement
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/processor/ClassSubstitutionHandler;
0 8 1 element Ljavax/lang/model/element/Element;
0 8 2 classSubstitution Ljavax/lang/model/element/AnnotationMirror;
0 8 3 generator Lorg/graalvm/compiler/replacements/processor/PluginGenerator;
4 8 4 type Ljavax/lang/model/element/TypeElement;
5 8 5 substitutionType Ljavax/lang/model/element/TypeElement;
MethodParameters:
Name Flags
element
classSubstitution
generator
static javax.lang.model.element.TypeElement resolveOriginalType(org.graalvm.compiler.processor.AbstractProcessor, javax.lang.model.element.Element, javax.lang.model.element.AnnotationMirror);
descriptor: (Lorg/graalvm/compiler/processor/AbstractProcessor;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)Ljavax/lang/model/element/TypeElement;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc "value"
ldc Ljavax/lang/model/type/TypeMirror;
invokestatic org.graalvm.compiler.processor.AbstractProcessor.getAnnotationValue:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
astore 3
start local 3 1: aload 2
ldc "className"
ldc Ljava/lang/String;
invokestatic org.graalvm.compiler.processor.AbstractProcessor.getAnnotationValueList:(Ljavax/lang/model/element/AnnotationMirror;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/List;
astore 4
start local 4 2: aload 2
ldc "optional"
ldc Ljava/lang/Boolean;
invokestatic org.graalvm.compiler.processor.AbstractProcessor.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 5
start local 5 3: aload 0
invokevirtual org.graalvm.compiler.processor.AbstractProcessor.env:()Ljavax/annotation/processing/ProcessingEnvironment;
invokeinterface javax.annotation.processing.ProcessingEnvironment.getMessager:()Ljavax/annotation/processing/Messager;
astore 6
start local 6 4: aload 3
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
if_acmpeq 7
5: aload 6
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
ldc "The provided class must be a declared type."
aload 1
aload 2
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
6: aconst_null
areturn
7: StackMap locals: org.graalvm.compiler.processor.AbstractProcessor javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror javax.lang.model.type.TypeMirror java.util.List int javax.annotation.processing.Messager
StackMap stack:
aload 2
invokeinterface javax.lang.model.element.AnnotationMirror.getAnnotationType:()Ljavax/lang/model/type/DeclaredType;
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
aload 3
checkcast javax.lang.model.type.DeclaredType
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
invokeinterface javax.lang.model.element.Element.equals:(Ljava/lang/Object;)Z
ifne 13
8: aload 4
invokeinterface java.util.List.size:()I
ifeq 12
9: ldc "The usage of value and className is exclusive."
astore 7
start local 7 10: aload 6
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
aload 7
aload 1
aload 2
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
11: aload 6
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
aload 7
aload 1
aload 2
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
end local 7 12: StackMap locals:
StackMap stack:
aload 3
checkcast javax.lang.model.type.DeclaredType
invokeinterface javax.lang.model.type.DeclaredType.asElement:()Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
areturn
13: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.List.size:()I
ifeq 24
14: aconst_null
astore 7
start local 7 15: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 20
StackMap locals: org.graalvm.compiler.processor.AbstractProcessor javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror javax.lang.model.type.TypeMirror java.util.List int javax.annotation.processing.Messager javax.lang.model.element.TypeElement top java.util.Iterator
StackMap stack:
16: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 17: aload 0
aload 8
invokevirtual org.graalvm.compiler.processor.AbstractProcessor.getTypeElementOrNull:(Ljava/lang/String;)Ljavax/lang/model/element/TypeElement;
astore 7
18: aload 7
ifnull 20
19: goto 21
end local 8 20: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
21: StackMap locals: org.graalvm.compiler.processor.AbstractProcessor javax.lang.model.element.Element javax.lang.model.element.AnnotationMirror javax.lang.model.type.TypeMirror java.util.List int javax.annotation.processing.Messager javax.lang.model.element.TypeElement
StackMap stack:
aload 7
ifnonnull 23
iload 5
ifne 23
22: aload 6
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
ldc "None of the classes %s were found on the classpath."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 1
aload 2
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
23: StackMap locals:
StackMap stack:
aload 7
areturn
end local 7 24: StackMap locals:
StackMap stack:
iload 5
ifne 26
25: aload 6
getstatic javax.tools.Diagnostic$Kind.ERROR:Ljavax/tools/Diagnostic$Kind;
ldc "No value for 'value' or 'className' provided."
iconst_0
anewarray java.lang.Object
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 1
aload 2
invokeinterface javax.annotation.processing.Messager.printMessage:(Ljavax/tools/Diagnostic$Kind;Ljava/lang/CharSequence;Ljavax/lang/model/element/Element;Ljavax/lang/model/element/AnnotationMirror;)V
26: StackMap locals:
StackMap stack:
aconst_null
areturn
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 27 0 processor Lorg/graalvm/compiler/processor/AbstractProcessor;
0 27 1 sourceElement Ljavax/lang/model/element/Element;
0 27 2 classSubstition Ljavax/lang/model/element/AnnotationMirror;
1 27 3 type Ljavax/lang/model/type/TypeMirror;
2 27 4 classNames Ljava/util/List<Ljava/lang/String;>;
3 27 5 optional Z
4 27 6 messager Ljavax/annotation/processing/Messager;
10 12 7 msg Ljava/lang/String;
15 24 7 typeElement Ljavax/lang/model/element/TypeElement;
17 20 8 className Ljava/lang/String;
MethodParameters:
Name Flags
processor
sourceElement
classSubstition
}
SourceFile: "ClassSubstitutionHandler.java"
InnerClasses:
public final Kind = javax.tools.Diagnostic$Kind of javax.tools.Diagnostic