public final class com.oracle.svm.reflect.proxy.hosted.DynamicProxyFeature implements org.graalvm.nativeimage.hosted.Feature
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.reflect.proxy.hosted.DynamicProxyFeature
super_class: java.lang.Object
{
private int loadedConfigurations;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/reflect/proxy/hosted/DynamicProxyFeature;
public java.util.List<java.lang.Class<? extends org.graalvm.nativeimage.hosted.Feature>> getRequiredFeatures();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Lcom/oracle/svm/reflect/hosted/ReflectionFeature;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/reflect/proxy/hosted/DynamicProxyFeature;
Signature: ()Ljava/util/List<Ljava/lang/Class<+Lorg/graalvm/nativeimage/hosted/Feature;>;>;
public void duringSetup(org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl.getImageClassLoader:()Lcom/oracle/svm/hosted/ImageClassLoader;
astore 3
start local 3 2: new com.oracle.svm.reflect.proxy.DynamicProxySupport
dup
aload 3
invokevirtual com.oracle.svm.hosted.ImageClassLoader.getClassLoader:()Ljava/lang/ClassLoader;
invokespecial com.oracle.svm.reflect.proxy.DynamicProxySupport.<init>:(Ljava/lang/ClassLoader;)V
astore 4
start local 4 3: ldc Lcom/oracle/svm/core/jdk/proxy/DynamicProxyRegistry;
aload 4
invokestatic org.graalvm.nativeimage.ImageSingletons.add:(Ljava/lang/Class;Ljava/lang/Object;)V
4: aload 3
aload 4
invokedynamic accept(Lcom/oracle/svm/hosted/ImageClassLoader;Lcom/oracle/svm/reflect/proxy/DynamicProxySupport;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/svm/reflect/proxy/hosted/DynamicProxyFeature.lambda$0(Lcom/oracle/svm/hosted/ImageClassLoader;Lcom/oracle/svm/reflect/proxy/DynamicProxySupport;[Ljava/lang/String;)V (6)
([Ljava/lang/String;)V
astore 5
start local 5 5: new com.oracle.svm.core.configure.ProxyConfigurationParser
dup
aload 5
invokespecial com.oracle.svm.core.configure.ProxyConfigurationParser.<init>:(Ljava/util/function/Consumer;)V
astore 6
start local 6 6: aload 0
aload 6
aload 3
ldc "dynamic proxy"
7: getstatic com.oracle.svm.core.configure.ConfigurationFiles$Options.DynamicProxyConfigurationFiles:Lcom/oracle/svm/core/option/HostedOptionKey;
getstatic com.oracle.svm.core.configure.ConfigurationFiles$Options.DynamicProxyConfigurationResources:Lcom/oracle/svm/core/option/HostedOptionKey;
8: ldc "proxy-config.json"
9: invokestatic com.oracle.svm.hosted.config.ConfigurationParserUtils.parseAndRegisterConfigurations:(Lcom/oracle/svm/core/configure/ConfigurationParser;Lcom/oracle/svm/hosted/ImageClassLoader;Ljava/lang/String;Lcom/oracle/svm/core/option/HostedOptionKey;Lcom/oracle/svm/core/option/HostedOptionKey;Ljava/lang/String;)I
putfield com.oracle.svm.reflect.proxy.hosted.DynamicProxyFeature.loadedConfigurations:I
10: 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 11 0 this Lcom/oracle/svm/reflect/proxy/hosted/DynamicProxyFeature;
0 11 1 a Lorg/graalvm/nativeimage/hosted/Feature$DuringSetupAccess;
1 11 2 access Lcom/oracle/svm/hosted/FeatureImpl$DuringSetupAccessImpl;
2 11 3 imageClassLoader Lcom/oracle/svm/hosted/ImageClassLoader;
3 11 4 dynamicProxySupport Lcom/oracle/svm/reflect/proxy/DynamicProxySupport;
5 11 5 adapter Ljava/util/function/Consumer<[Ljava/lang/String;>;
6 11 6 parser Lcom/oracle/svm/core/configure/ProxyConfigurationParser;
MethodParameters:
Name Flags
a
public void beforeCompilation(org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess);
descriptor: (Lorg/graalvm/nativeimage/hosted/Feature$BeforeCompilationAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: ldc Lcom/oracle/svm/hosted/FallbackFeature;
invokestatic org.graalvm.nativeimage.ImageSingletons.contains:(Ljava/lang/Class;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
ldc Lcom/oracle/svm/hosted/FallbackFeature;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.hosted.FallbackFeature
getfield com.oracle.svm.hosted.FallbackFeature.proxyFallback:Lcom/oracle/svm/hosted/FallbackFeature$FallbackImageRequest;
astore 2
start local 2 3: aload 2
ifnull 5
aload 0
getfield com.oracle.svm.reflect.proxy.hosted.DynamicProxyFeature.loadedConfigurations:I
ifne 5
4: aload 2
athrow
5: StackMap locals: com.oracle.svm.hosted.FallbackFeature$FallbackImageRequest
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/reflect/proxy/hosted/DynamicProxyFeature;
0 6 1 access Lorg/graalvm/nativeimage/hosted/Feature$BeforeCompilationAccess;
3 6 2 proxyFallback Lcom/oracle/svm/hosted/FallbackFeature$FallbackImageRequest;
MethodParameters:
Name Flags
access
private static void lambda$0(com.oracle.svm.hosted.ImageClassLoader, com.oracle.svm.reflect.proxy.DynamicProxySupport, java.lang.String[]);
descriptor: (Lcom/oracle/svm/hosted/ImageClassLoader;Lcom/oracle/svm/reflect/proxy/DynamicProxySupport;[Ljava/lang/String;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=7, args_size=3
start local 2 0: aload 2
arraylength
anewarray java.lang.Class
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 11
3: StackMap locals: java.lang.Class[] int
StackMap stack:
aload 2
iload 4
aaload
astore 5
start local 5 4: aload 0
aload 5
invokevirtual com.oracle.svm.hosted.ImageClassLoader.findClass:(Ljava/lang/String;)Lcom/oracle/svm/core/TypeResult;
invokevirtual com.oracle.svm.core.TypeResult.get:()Ljava/lang/Object;
checkcast java.lang.Class
astore 6
start local 6 5: aload 6
ifnonnull 7
6: new java.lang.StringBuilder
dup
ldc "Class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " not found"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
7: StackMap locals: java.lang.String java.lang.Class
StackMap stack:
aload 6
invokevirtual java.lang.Class.isInterface:()Z
ifne 9
8: new java.lang.StringBuilder
dup
ldc "The class \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" is not an interface."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
9: StackMap locals:
StackMap stack:
aload 3
iload 4
aload 6
aastore
end local 6 end local 5 10: iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
aload 2
arraylength
if_icmplt 3
end local 4 12: aload 1
aload 3
invokevirtual com.oracle.svm.reflect.proxy.DynamicProxySupport.addProxyClass:([Ljava/lang/Class;)V
end local 3 13: return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 14 2 interfaceNames [Ljava/lang/String;
1 13 3 interfaces [Ljava/lang/Class;
2 12 4 i I
4 10 5 className Ljava/lang/String;
5 10 6 clazz Ljava/lang/Class<*>;
}
SourceFile: "DynamicProxyFeature.java"
InnerClasses:
public final Options = com.oracle.svm.core.configure.ConfigurationFiles$Options of com.oracle.svm.core.configure.ConfigurationFiles
public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
public DuringSetupAccessImpl = com.oracle.svm.hosted.FeatureImpl$DuringSetupAccessImpl of com.oracle.svm.hosted.FeatureImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract BeforeCompilationAccess = org.graalvm.nativeimage.hosted.Feature$BeforeCompilationAccess of org.graalvm.nativeimage.hosted.Feature
public abstract DuringSetupAccess = org.graalvm.nativeimage.hosted.Feature$DuringSetupAccess of org.graalvm.nativeimage.hosted.Feature
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.AutomaticFeature()