abstract class java.lang.invoke.ClassSpecializer<T, K, S extends java.lang.invoke.ClassSpecializer<T, K, S>.SpeciesData>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: java.lang.invoke.ClassSpecializer
super_class: java.lang.Object
{
private final java.lang.Class<T> topClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<TT;>;
private final java.lang.Class<K> keyType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<TK;>;
private final java.lang.Class<S> metaType;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<TS;>;
private final java.lang.invoke.MemberName sdAccessor;
descriptor: Ljava/lang/invoke/MemberName;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String sdFieldName;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<java.lang.invoke.MemberName> transformMethods;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/invoke/MemberName;>;
private final java.lang.invoke.MethodType baseConstructorType;
descriptor: Ljava/lang/invoke/MethodType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final S topSpecies;
descriptor: Ljava/lang/invoke/ClassSpecializer$SpeciesData;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: TS;
private final java.util.concurrent.ConcurrentHashMap<K, java.lang.Object> cache;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<TK;Ljava/lang/Object;>;
private final java.lang.invoke.ClassSpecializer<T, K, S>.Factory factory;
descriptor: Ljava/lang/invoke/ClassSpecializer$Factory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.Factory;
private boolean topClassIsSuper;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.Stable()
private static final java.util.function.Function<java.lang.Object, java.lang.Object> CREATE_RESERVATION;
descriptor: Ljava/util/function/Function;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Function<Ljava/lang/Object;Ljava/lang/Object;>;
private static final java.lang.String MH;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "java/lang/invoke/MethodHandle"
private static final java.lang.String MH_SIG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Ljava/lang/invoke/MethodHandle;"
private static final java.lang.String STABLE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "jdk/internal/vm/annotation/Stable"
private static final java.lang.String STABLE_SIG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Ljdk/internal/vm/annotation/Stable;"
private static final java.lang.String[] E_THROWABLE;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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=4, locals=0, args_size=0
0: ldc Ljava/lang/invoke/ClassSpecializer;
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 java.lang.invoke.ClassSpecializer.$assertionsDisabled:Z
3: new java.lang.invoke.ClassSpecializer$1
dup
invokespecial java.lang.invoke.ClassSpecializer$1.<init>:()V
putstatic java.lang.invoke.ClassSpecializer.CREATE_RESERVATION:Ljava/util/function/Function;
4: iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "java/lang/Throwable"
aastore
putstatic java.lang.invoke.ClassSpecializer.E_THROWABLE:[Ljava/lang/String;
5: getstatic java.lang.invoke.ClassSpecializer.$assertionsDisabled:Z
ifne 6
ldc "Ljava/lang/invoke/MethodHandle;"
ldc Ljava/lang/invoke/MethodHandle;
invokestatic java.lang.invoke.ClassSpecializer.classSig:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.ClassSpecializer.$assertionsDisabled:Z
ifne 7
ldc "java/lang/invoke/MethodHandle"
ldc Ljava/lang/invoke/MethodHandle;
invokestatic java.lang.invoke.ClassSpecializer.classBCName:(Ljava/lang/Class;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
public final java.lang.Class<T> topClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.ClassSpecializer.topClass:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>;
Signature: ()Ljava/lang/Class<TT;>;
public final java.lang.Class<K> keyType();
descriptor: ()Ljava/lang/Class;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.ClassSpecializer.keyType:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>;
Signature: ()Ljava/lang/Class<TK;>;
public final java.lang.Class<S> metaType();
descriptor: ()Ljava/lang/Class;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.ClassSpecializer.metaType:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>;
Signature: ()Ljava/lang/Class<TS;>;
protected java.lang.invoke.MethodType baseConstructorType();
descriptor: ()Ljava/lang/invoke/MethodType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.ClassSpecializer.baseConstructorType:Ljava/lang/invoke/MethodType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>;
protected final S topSpecies();
descriptor: ()Ljava/lang/invoke/ClassSpecializer$SpeciesData;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.ClassSpecializer.topSpecies:Ljava/lang/invoke/ClassSpecializer$SpeciesData;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>;
Signature: ()TS;
protected final java.util.List<java.lang.invoke.MemberName> transformMethods();
descriptor: ()Ljava/util/List;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.ClassSpecializer.transformMethods:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>;
Signature: ()Ljava/util/List<Ljava/lang/invoke/MemberName;>;
protected final java.lang.invoke.ClassSpecializer<T, K, S>.Factory factory();
descriptor: ()Ljava/lang/invoke/ClassSpecializer$Factory;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.invoke.ClassSpecializer.factory:Ljava/lang/invoke/ClassSpecializer$Factory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>;
Signature: ()Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.Factory;
protected void <init>(java.lang.Class<T>, java.lang.Class<K>, java.lang.Class<S>, java.lang.invoke.MethodType, java.lang.invoke.MemberName, java.lang.String, java.util.List<java.lang.invoke.MemberName>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MemberName;Ljava/lang/String;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield java.lang.invoke.ClassSpecializer.cache:Ljava/util/concurrent/ConcurrentHashMap;
2: aload 0
aload 1
putfield java.lang.invoke.ClassSpecializer.topClass:Ljava/lang/Class;
3: aload 0
aload 2
putfield java.lang.invoke.ClassSpecializer.keyType:Ljava/lang/Class;
4: aload 0
aload 3
putfield java.lang.invoke.ClassSpecializer.metaType:Ljava/lang/Class;
5: aload 0
aload 5
putfield java.lang.invoke.ClassSpecializer.sdAccessor:Ljava/lang/invoke/MemberName;
6: aload 0
aload 7
invokestatic java.util.List.copyOf:(Ljava/util/Collection;)Ljava/util/List;
putfield java.lang.invoke.ClassSpecializer.transformMethods:Ljava/util/List;
7: aload 0
aload 6
putfield java.lang.invoke.ClassSpecializer.sdFieldName:Ljava/lang/String;
8: aload 0
aload 4
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokevirtual java.lang.invoke.MethodType.changeReturnType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
putfield java.lang.invoke.ClassSpecializer.baseConstructorType:Ljava/lang/invoke/MethodType;
9: aload 0
aload 0
invokevirtual java.lang.invoke.ClassSpecializer.makeFactory:()Ljava/lang/invoke/ClassSpecializer$Factory;
putfield java.lang.invoke.ClassSpecializer.factory:Ljava/lang/invoke/ClassSpecializer$Factory;
10: aload 0
invokevirtual java.lang.invoke.ClassSpecializer.topSpeciesKey:()Ljava/lang/Object;
astore 8
start local 8 11: aconst_null
astore 9
start local 9 12: aload 8
ifnull 14
aload 9
ifnonnull 14
13: aload 0
aload 8
invokevirtual java.lang.invoke.ClassSpecializer.findSpecies:(Ljava/lang/Object;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
astore 9
14: StackMap locals: java.lang.invoke.ClassSpecializer java.lang.Class java.lang.Class java.lang.Class java.lang.invoke.MethodType java.lang.invoke.MemberName java.lang.String java.util.List java.lang.Object java.lang.invoke.ClassSpecializer$SpeciesData
StackMap stack:
aload 0
aload 9
putfield java.lang.invoke.ClassSpecializer.topSpecies:Ljava/lang/invoke/ClassSpecializer$SpeciesData;
15: return
end local 9 end local 8 end local 7 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 16 0 this Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>;
0 16 1 topClass Ljava/lang/Class<TT;>;
0 16 2 keyType Ljava/lang/Class<TK;>;
0 16 3 metaType Ljava/lang/Class<TS;>;
0 16 4 baseConstructorType Ljava/lang/invoke/MethodType;
0 16 5 sdAccessor Ljava/lang/invoke/MemberName;
0 16 6 sdFieldName Ljava/lang/String;
0 16 7 transformMethods Ljava/util/List<Ljava/lang/invoke/MemberName;>;
11 16 8 tsk TK;
12 16 9 topSpecies TS;
Signature: (Ljava/lang/Class<TT;>;Ljava/lang/Class<TK;>;Ljava/lang/Class<TS;>;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MemberName;Ljava/lang/String;Ljava/util/List<Ljava/lang/invoke/MemberName;>;)V
MethodParameters:
Name Flags
topClass
keyType
metaType
baseConstructorType
sdAccessor
sdFieldName
transformMethods
protected static <T> java.lang.reflect.Constructor<T> reflectConstructor(java.lang.Class<T>, java.lang.Class<?>[]);
descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
flags: (0x008c) ACC_PROTECTED, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Class.getDeclaredConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
astore 2
start local 2 3: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
aload 1
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokestatic java.lang.invoke.ClassSpecializer.newIAE:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 defc Ljava/lang/Class<TT;>;
0 4 1 ptypes [Ljava/lang/Class;
3 4 2 ex Ljava/lang/NoSuchMethodException;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<TT;>;
MethodParameters:
Name Flags
defc
ptypes
protected static java.lang.reflect.Field reflectField(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NoSuchFieldException
astore 2
start local 2 3: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokestatic java.lang.invoke.ClassSpecializer.newIAE:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 defc Ljava/lang/Class<*>;
0 4 1 name Ljava/lang/String;
3 4 2 ex Ljava/lang/NoSuchFieldException;
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchFieldException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
defc
name
private static java.lang.RuntimeException newIAE(java.lang.String, java.lang.Throwable);
descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.IllegalArgumentException
dup
aload 0
aload 1
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 message Ljava/lang/String;
0 1 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
message
cause
public final S findSpecies();
descriptor: (Ljava/lang/Object;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.invoke.ClassSpecializer.cache:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
getstatic java.lang.invoke.ClassSpecializer.CREATE_RESERVATION:Ljava/util/function/Function;
invokevirtual java.util.concurrent.ConcurrentHashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/Object;
if_acmpne 14
2: aload 2
dup
astore 4
monitorenter
3: aload 0
getfield java.lang.invoke.ClassSpecializer.cache:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 4: aload 5
aload 2
if_acmpne 9
5: aload 0
aload 1
invokevirtual java.lang.invoke.ClassSpecializer.newSpeciesData:(Ljava/lang/Object;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
astore 3
start local 3 6: aload 0
getfield java.lang.invoke.ClassSpecializer.factory:Ljava/lang/invoke/ClassSpecializer$Factory;
aload 3
invokevirtual java.lang.invoke.ClassSpecializer$Factory.loadSpecies:(Ljava/lang/invoke/ClassSpecializer$SpeciesData;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
astore 3
7: aload 0
getfield java.lang.invoke.ClassSpecializer.cache:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 5
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.replace:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 10
8: ldc "Concurrent loadSpecies"
invokestatic java.lang.invoke.MethodHandleStatics.newInternalError:(Ljava/lang/String;)Ljava/lang/InternalError;
athrow
end local 3 9: StackMap locals: java.lang.invoke.ClassSpecializer java.lang.Object java.lang.Object top java.lang.Object java.lang.Object
StackMap stack:
aload 0
getfield java.lang.invoke.ClassSpecializer.metaType:Ljava/lang/Class;
aload 5
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.invoke.ClassSpecializer$SpeciesData
astore 3
end local 5 start local 3 10: StackMap locals: java.lang.invoke.ClassSpecializer java.lang.Object java.lang.Object java.lang.invoke.ClassSpecializer$SpeciesData java.lang.Object
StackMap stack:
aload 4
monitorexit
11: goto 15
end local 3 StackMap locals: java.lang.invoke.ClassSpecializer java.lang.Object java.lang.Object top java.lang.Object
StackMap stack: java.lang.Throwable
12: aload 4
monitorexit
13: athrow
14: StackMap locals: java.lang.invoke.ClassSpecializer java.lang.Object java.lang.Object
StackMap stack:
aload 0
getfield java.lang.invoke.ClassSpecializer.metaType:Ljava/lang/Class;
aload 2
invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.invoke.ClassSpecializer$SpeciesData
astore 3
start local 3 15: StackMap locals: java.lang.invoke.ClassSpecializer$SpeciesData
StackMap stack:
getstatic java.lang.invoke.ClassSpecializer.$assertionsDisabled:Z
ifne 17
aload 3
ifnull 16
aload 3
invokevirtual java.lang.invoke.ClassSpecializer$SpeciesData.isResolved:()Z
ifne 17
StackMap locals:
StackMap stack:
16: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
17: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>;
0 18 1 key TK;
1 18 2 speciesDataOrReservation Ljava/lang/Object;
6 9 3 speciesData TS;
10 12 3 speciesData TS;
15 18 3 speciesData TS;
4 10 5 existingSpeciesData Ljava/lang/Object;
Exception table:
from to target type
3 11 12 any
12 13 12 any
Signature: (TK;)TS;
MethodParameters:
Name Flags
key
protected abstract S newSpeciesData();
descriptor: (Ljava/lang/Object;)Ljava/lang/invoke/ClassSpecializer$SpeciesData;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TK;)TS;
MethodParameters:
Name Flags
key
protected K topSpeciesKey();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>;
Signature: ()TK;
protected java.lang.invoke.ClassSpecializer<T, K, S>.Factory makeFactory();
descriptor: ()Ljava/lang/invoke/ClassSpecializer$Factory;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.invoke.ClassSpecializer$Factory
dup
aload 0
invokespecial java.lang.invoke.ClassSpecializer$Factory.<init>:(Ljava/lang/invoke/ClassSpecializer;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>;
Signature: ()Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.Factory;
static java.lang.String methodSig(java.lang.invoke.MethodType);
descriptor: (Ljava/lang/invoke/MethodType;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mt Ljava/lang/invoke/MethodType;
MethodParameters:
Name Flags
mt
static java.lang.String classSig(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 1
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.toMethodDescriptorString:()Ljava/lang/String;
iconst_2
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.invoke.ClassSpecializer.classBCName:(Ljava/lang/Class;)Ljava/lang/String;
invokestatic java.lang.invoke.ClassSpecializer.classSig:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 cls Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
cls
static java.lang.String classSig(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic java.lang.invoke.ClassSpecializer.$assertionsDisabled:Z
ifne 1
aload 0
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
iflt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.ClassSpecializer.$assertionsDisabled:Z
ifne 2
aload 0
ldc ";"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic java.lang.invoke.ClassSpecializer.$assertionsDisabled:Z
ifne 3
aload 0
ldc "["
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "L"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 bcName Ljava/lang/String;
MethodParameters:
Name Flags
bcName
static java.lang.String classBCName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.invoke.ClassSpecializer.className:(Ljava/lang/Class;)Ljava/lang/String;
invokestatic java.lang.invoke.ClassSpecializer.classBCName:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cls Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
cls
static java.lang.String classBCName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic java.lang.invoke.ClassSpecializer.$assertionsDisabled:Z
ifne 1
aload 0
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
iflt 1
new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 str Ljava/lang/String;
MethodParameters:
Name Flags
str
static java.lang.String className(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.lang.invoke.ClassSpecializer.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifne 1
aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 cls Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
cls
}
Signature: <T:Ljava/lang/Object;K:Ljava/lang/Object;S:Ljava/lang/invoke/ClassSpecializer<TT;TK;TS;>.SpeciesData;>Ljava/lang/Object;
SourceFile: "ClassSpecializer.java"
NestMembers:
java.lang.invoke.ClassSpecializer$1 java.lang.invoke.ClassSpecializer$Factory java.lang.invoke.ClassSpecializer$Factory$1 java.lang.invoke.ClassSpecializer$Factory$1Var java.lang.invoke.ClassSpecializer$SpeciesData
InnerClasses:
java.lang.invoke.ClassSpecializer$1
public Factory = java.lang.invoke.ClassSpecializer$Factory of java.lang.invoke.ClassSpecializer
public abstract SpeciesData = java.lang.invoke.ClassSpecializer$SpeciesData of java.lang.invoke.ClassSpecializer