final class com.google.common.reflect.Types$TypeVariableInvocationHandler implements java.lang.reflect.InvocationHandler
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.reflect.Types$TypeVariableInvocationHandler
super_class: java.lang.Object
{
private static final com.google.common.collect.ImmutableMap<java.lang.String, java.lang.reflect.Method> typeVariableMethods;
descriptor: Lcom/google/common/collect/ImmutableMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lcom/google/common/collect/ImmutableMap<Ljava/lang/String;Ljava/lang/reflect/Method;>;
private final com.google.common.reflect.Types$TypeVariableImpl<?> typeVariableImpl;
descriptor: Lcom/google/common/reflect/Types$TypeVariableImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/google/common/reflect/Types$TypeVariableImpl<*>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=0
0: invokestatic com.google.common.collect.ImmutableMap.builder:()Lcom/google/common/collect/ImmutableMap$Builder;
astore 0
start local 0 1: ldc Lcom/google/common/reflect/Types$TypeVariableImpl;
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 9
StackMap locals: com.google.common.collect.ImmutableMap$Builder top int int java.lang.reflect.Method[]
StackMap stack:
2: aload 4
iload 2
aaload
astore 1
start local 1 3: aload 1
invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
ldc Lcom/google/common/reflect/Types$TypeVariableImpl;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
4: aload 1
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
5: goto 7
StackMap locals: com.google.common.collect.ImmutableMap$Builder java.lang.reflect.Method int int java.lang.reflect.Method[]
StackMap stack: java.security.AccessControlException
6: pop
7: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 1
invokevirtual com.google.common.collect.ImmutableMap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableMap$Builder;
pop
end local 1 8: StackMap locals: com.google.common.collect.ImmutableMap$Builder top int int java.lang.reflect.Method[]
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
iload 3
if_icmplt 2
10: aload 0
invokevirtual com.google.common.collect.ImmutableMap$Builder.build:()Lcom/google/common/collect/ImmutableMap;
putstatic com.google.common.reflect.Types$TypeVariableInvocationHandler.typeVariableMethods:Lcom/google/common/collect/ImmutableMap;
end local 0 11: return
LocalVariableTable:
Start End Slot Name Signature
1 11 0 builder Lcom/google/common/collect/ImmutableMap$Builder<Ljava/lang/String;Ljava/lang/reflect/Method;>;
3 8 1 method Ljava/lang/reflect/Method;
Exception table:
from to target type
4 5 6 Class java.security.AccessControlException
void <init>(com.google.common.reflect.Types$TypeVariableImpl<?>);
descriptor: (Lcom/google/common/reflect/Types$TypeVariableImpl;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.google.common.reflect.Types$TypeVariableInvocationHandler.typeVariableImpl:Lcom/google/common/reflect/Types$TypeVariableImpl;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/reflect/Types$TypeVariableInvocationHandler;
0 3 1 typeVariableImpl Lcom/google/common/reflect/Types$TypeVariableImpl<*>;
Signature: (Lcom/google/common/reflect/Types$TypeVariableImpl<*>;)V
MethodParameters:
Name Flags
typeVariableImpl
public java.lang.Object invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
astore 4
start local 4 1: getstatic com.google.common.reflect.Types$TypeVariableInvocationHandler.typeVariableMethods:Lcom/google/common/collect/ImmutableMap;
aload 4
invokevirtual com.google.common.collect.ImmutableMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.reflect.Method
astore 5
start local 5 2: aload 5
ifnonnull 4
3: new java.lang.UnsupportedOperationException
dup
aload 4
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.lang.String java.lang.reflect.Method
StackMap stack:
aload 5
aload 0
getfield com.google.common.reflect.Types$TypeVariableInvocationHandler.typeVariableImpl:Lcom/google/common/reflect/Types$TypeVariableImpl;
aload 3
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
5: areturn
6: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 6
start local 6 7: aload 6
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
athrow
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 8 0 this Lcom/google/common/reflect/Types$TypeVariableInvocationHandler;
0 8 1 proxy Ljava/lang/Object;
0 8 2 method Ljava/lang/reflect/Method;
0 8 3 args [Ljava/lang/Object;
1 8 4 methodName Ljava/lang/String;
2 8 5 typeVariableMethod Ljava/lang/reflect/Method;
7 8 6 e Ljava/lang/reflect/InvocationTargetException;
Exception table:
from to target type
4 5 6 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.lang.Throwable
MethodParameters:
Name Flags
proxy
method
args
}
SourceFile: "Types.java"
NestHost: com.google.common.reflect.Types
InnerClasses:
public Builder = com.google.common.collect.ImmutableMap$Builder of com.google.common.collect.ImmutableMap
private final TypeVariableImpl = com.google.common.reflect.Types$TypeVariableImpl of com.google.common.reflect.Types
private final TypeVariableInvocationHandler = com.google.common.reflect.Types$TypeVariableInvocationHandler of com.google.common.reflect.Types