public final class jdk.internal.joptsimple.internal.Reflection
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.internal.joptsimple.internal.Reflection
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/joptsimple/internal/Reflection;
public static <V> jdk.internal.joptsimple.ValueConverter<V> findConverter(java.lang.Class<V>);
descriptor: (Ljava/lang/Class;)Ljdk/internal/joptsimple/ValueConverter;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokestatic jdk.internal.joptsimple.internal.Classes.wrapperOf:(Ljava/lang/Class;)Ljava/lang/Class;
astore 1
start local 1 1: aload 1
invokestatic jdk.internal.joptsimple.internal.Reflection.valueOfConverter:(Ljava/lang/Class;)Ljdk/internal/joptsimple/ValueConverter;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
areturn
4: StackMap locals: java.lang.Class jdk.internal.joptsimple.ValueConverter
StackMap stack:
aload 1
invokestatic jdk.internal.joptsimple.internal.Reflection.constructorConverter:(Ljava/lang/Class;)Ljdk/internal/joptsimple/ValueConverter;
astore 3
start local 3 5: aload 3
ifnull 7
6: aload 3
areturn
7: StackMap locals: jdk.internal.joptsimple.ValueConverter
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not a value type"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 clazz Ljava/lang/Class<TV;>;
1 8 1 maybeWrapper Ljava/lang/Class<TV;>;
2 8 2 valueOf Ljdk/internal/joptsimple/ValueConverter<TV;>;
5 8 3 constructor Ljdk/internal/joptsimple/ValueConverter<TV;>;
Signature: <V:Ljava/lang/Object;>(Ljava/lang/Class<TV;>;)Ljdk/internal/joptsimple/ValueConverter<TV;>;
MethodParameters:
Name Flags
clazz
private static <V> jdk.internal.joptsimple.ValueConverter<V> valueOfConverter(java.lang.Class<V>);
descriptor: (Ljava/lang/Class;)Ljdk/internal/joptsimple/ValueConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
ldc "valueOf"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 1
start local 1 1: aload 1
aload 0
invokestatic jdk.internal.joptsimple.internal.Reflection.meetsConverterRequirements:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Z
ifeq 4
2: new jdk.internal.joptsimple.internal.MethodInvokingValueConverter
dup
aload 1
aload 0
invokespecial jdk.internal.joptsimple.internal.MethodInvokingValueConverter.<init>:(Ljava/lang/reflect/Method;Ljava/lang/Class;)V
3: areturn
4: StackMap locals: java.lang.reflect.Method
StackMap stack:
aconst_null
areturn
end local 1 5: StackMap locals: java.lang.Class
StackMap stack: java.lang.NoSuchMethodException
pop
6: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 clazz Ljava/lang/Class<TV;>;
1 5 1 valueOf Ljava/lang/reflect/Method;
Exception table:
from to target type
0 3 5 Class java.lang.NoSuchMethodException
Signature: <V:Ljava/lang/Object;>(Ljava/lang/Class<TV;>;)Ljdk/internal/joptsimple/ValueConverter<TV;>;
MethodParameters:
Name Flags
clazz
private static <V> jdk.internal.joptsimple.ValueConverter<V> constructorConverter(java.lang.Class<V>);
descriptor: (Ljava/lang/Class;)Ljdk/internal/joptsimple/ValueConverter;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: new jdk.internal.joptsimple.internal.ConstructorInvokingValueConverter
dup
aload 0
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
invokespecial jdk.internal.joptsimple.internal.ConstructorInvokingValueConverter.<init>:(Ljava/lang/reflect/Constructor;)V
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
3: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 clazz Ljava/lang/Class<TV;>;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
Signature: <V:Ljava/lang/Object;>(Ljava/lang/Class<TV;>;)Ljdk/internal/joptsimple/ValueConverter<TV;>;
MethodParameters:
Name Flags
clazz
public static <T> T instantiate(java.lang.reflect.Constructor<T>, []);
descriptor: (Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: aload 2
invokestatic jdk.internal.joptsimple.internal.Reflection.reflectionException:(Ljava/lang/Exception;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 constructor Ljava/lang/reflect/Constructor<TT;>;
0 4 1 args [Ljava/lang/Object;
3 4 2 ex Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Signature: <T:Ljava/lang/Object;>(Ljava/lang/reflect/Constructor<TT;>;[Ljava/lang/Object;)TT;
MethodParameters:
Name Flags
constructor
args
public static java.lang.Object invoke(java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
aload 1
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 3: aload 2
invokestatic jdk.internal.joptsimple.internal.Reflection.reflectionException:(Ljava/lang/Exception;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 method Ljava/lang/reflect/Method;
0 4 1 args [Ljava/lang/Object;
3 4 2 ex Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
method
args
public static <V> V convertWith(jdk.internal.joptsimple.ValueConverter<V>, java.lang.String);
descriptor: (Ljdk/internal/joptsimple/ValueConverter;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 1
aload 1
goto 2
StackMap locals:
StackMap stack:
1: aload 0
aload 1
invokeinterface jdk.internal.joptsimple.ValueConverter.convert:(Ljava/lang/String;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 converter Ljdk/internal/joptsimple/ValueConverter<TV;>;
0 3 1 raw Ljava/lang/String;
Signature: <V:Ljava/lang/Object;>(Ljdk/internal/joptsimple/ValueConverter<TV;>;Ljava/lang/String;)TV;
MethodParameters:
Name Flags
converter
raw
private static boolean meetsConverterRequirements(java.lang.reflect.Method, java.lang.Class<?>);
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.reflect.Method.getModifiers:()I
istore 2
start local 2 1: iload 2
invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
ifeq 2
iload 2
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 2
aload 1
aload 0
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
iconst_1
ireturn
StackMap locals: int
StackMap stack:
2: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 method Ljava/lang/reflect/Method;
0 3 1 expectedReturnType Ljava/lang/Class<*>;
1 3 2 modifiers I
Signature: (Ljava/lang/reflect/Method;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
method
expectedReturnType
private static java.lang.RuntimeException reflectionException(java.lang.Exception);
descriptor: (Ljava/lang/Exception;)Ljava/lang/RuntimeException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.IllegalArgumentException
ifeq 2
1: new jdk.internal.joptsimple.internal.ReflectionException
dup
aload 0
invokespecial jdk.internal.joptsimple.internal.ReflectionException.<init>:(Ljava/lang/Throwable;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.reflect.InvocationTargetException
ifeq 4
3: new jdk.internal.joptsimple.internal.ReflectionException
dup
aload 0
invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
invokespecial jdk.internal.joptsimple.internal.ReflectionException.<init>:(Ljava/lang/Throwable;)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.RuntimeException
ifeq 6
5: aload 0
checkcast java.lang.RuntimeException
areturn
6: StackMap locals:
StackMap stack:
new jdk.internal.joptsimple.internal.ReflectionException
dup
aload 0
invokespecial jdk.internal.joptsimple.internal.ReflectionException.<init>:(Ljava/lang/Throwable;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 ex Ljava/lang/Exception;
MethodParameters:
Name Flags
ex
}
SourceFile: "Reflection.java"