public interface com.oracle.graal.pointsto.infrastructure.OriginalMethodProvider
minor version: 0
major version: 59
flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
this_class: com.oracle.graal.pointsto.infrastructure.OriginalMethodProvider
super_class: java.lang.Object
{
public static java.lang.reflect.Executable getJavaMethod(org.graalvm.compiler.api.replacements.SnippetReflectionProvider, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/reflect/Executable;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider reflectionProvider
start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
0: .line 39
aload 1 /* method */
instanceof com.oracle.graal.pointsto.infrastructure.OriginalMethodProvider
ifeq 2
1: .line 40
aload 1 /* method */
checkcast com.oracle.graal.pointsto.infrastructure.OriginalMethodProvider
invokeinterface com.oracle.graal.pointsto.infrastructure.OriginalMethodProvider.getJavaMethod:()Ljava/lang/reflect/Executable;
areturn
2: .line 43
StackMap locals:
StackMap stack:
aload 1 /* method */
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getParameters:()[Ljdk/vm/ci/meta/ResolvedJavaMethod$Parameter;
astore 2 /* parameters */
start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[] parameters
3: .line 44
aload 2 /* parameters */
arraylength
anewarray java.lang.Class
astore 3 /* parameterTypes */
start local 3 // java.lang.Class[] parameterTypes
4: .line 45
aload 1 /* method */
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4 /* declaringClassType */
start local 4 // jdk.vm.ci.meta.ResolvedJavaType declaringClassType
5: .line 46
iconst_0
istore 5 /* i */
start local 5 // int i
6: goto 9
7: .line 47
StackMap locals: org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[] java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaType int
StackMap stack:
aload 3 /* parameterTypes */
iload 5 /* i */
aload 0 /* reflectionProvider */
aload 2 /* parameters */
iload 5 /* i */
aaload
invokevirtual jdk.vm.ci.meta.ResolvedJavaMethod$Parameter.getType:()Ljdk/vm/ci/meta/JavaType;
aload 4 /* declaringClassType */
invokeinterface jdk.vm.ci.meta.JavaType.resolve:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic com.oracle.graal.pointsto.infrastructure.OriginalClassProvider.getJavaClass:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/Class;
aastore
8: .line 46
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 5 /* i */
aload 3 /* parameterTypes */
arraylength
if_icmplt 7
end local 5 // int i
10: .line 49
aload 0 /* reflectionProvider */
aload 4 /* declaringClassType */
invokestatic com.oracle.graal.pointsto.infrastructure.OriginalClassProvider.getJavaClass:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljava/lang/Class;
astore 5 /* declaringClass */
start local 5 // java.lang.Class declaringClass
11: .line 50
aload 1 /* method */
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isConstructor:()Z
ifeq 14
12: .line 51
aload 5 /* declaringClass */
aload 3 /* parameterTypes */
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
13: areturn
14: .line 53
StackMap locals: org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[] java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaType java.lang.Class
StackMap stack:
aload 5 /* declaringClass */
aload 1 /* method */
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
aload 3 /* parameterTypes */
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
15: areturn
end local 5 // java.lang.Class declaringClass
end local 4 // jdk.vm.ci.meta.ResolvedJavaType declaringClassType
end local 3 // java.lang.Class[] parameterTypes
end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[] parameters
16: .line 55
StackMap locals: org.graalvm.compiler.api.replacements.SnippetReflectionProvider jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack: java.lang.NoSuchMethodException
pop
17: .line 56
invokestatic com.oracle.graal.pointsto.util.AnalysisError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
end local 0 // org.graalvm.compiler.api.replacements.SnippetReflectionProvider reflectionProvider
LocalVariableTable:
Start End Slot Name Signature
0 18 0 reflectionProvider Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
0 18 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
3 16 2 parameters [Ljdk/vm/ci/meta/ResolvedJavaMethod$Parameter;
4 16 3 parameterTypes [Ljava/lang/Class;
5 16 4 declaringClassType Ljdk/vm/ci/meta/ResolvedJavaType;
6 10 5 i I
11 16 5 declaringClass Ljava/lang/Class<*>;
Exception table:
from to target type
2 13 16 Class java.lang.NoSuchMethodException
14 15 16 Class java.lang.NoSuchMethodException
MethodParameters:
Name Flags
reflectionProvider
method
public abstract java.lang.reflect.Executable getJavaMethod();
descriptor: ()Ljava/lang/reflect/Executable;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "OriginalMethodProvider.java"
InnerClasses:
public Parameter = jdk.vm.ci.meta.ResolvedJavaMethod$Parameter of jdk.vm.ci.meta.ResolvedJavaMethod