class org.bson.internal.ChildCodecRegistry<T> implements org.bson.codecs.configuration.CodecRegistry
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.bson.internal.ChildCodecRegistry
super_class: java.lang.Object
{
private final org.bson.internal.ChildCodecRegistry<?> parent;
descriptor: Lorg/bson/internal/ChildCodecRegistry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/bson/internal/ChildCodecRegistry<*>;
private final org.bson.internal.CycleDetectingCodecRegistry registry;
descriptor: Lorg/bson/internal/CycleDetectingCodecRegistry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Class<T> codecClass;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<TT;>;
void <init>(org.bson.internal.CycleDetectingCodecRegistry, java.lang.Class<T>);
descriptor: (Lorg/bson/internal/CycleDetectingCodecRegistry;Ljava/lang/Class;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield org.bson.internal.ChildCodecRegistry.codecClass:Ljava/lang/Class;
2: aload 0
aconst_null
putfield org.bson.internal.ChildCodecRegistry.parent:Lorg/bson/internal/ChildCodecRegistry;
3: aload 0
aload 1
putfield org.bson.internal.ChildCodecRegistry.registry:Lorg/bson/internal/CycleDetectingCodecRegistry;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bson/internal/ChildCodecRegistry<TT;>;
0 5 1 registry Lorg/bson/internal/CycleDetectingCodecRegistry;
0 5 2 codecClass Ljava/lang/Class<TT;>;
Signature: (Lorg/bson/internal/CycleDetectingCodecRegistry;Ljava/lang/Class<TT;>;)V
MethodParameters:
Name Flags
registry final
codecClass final
private void <init>(org.bson.internal.ChildCodecRegistry<?>, java.lang.Class<T>);
descriptor: (Lorg/bson/internal/ChildCodecRegistry;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.bson.internal.ChildCodecRegistry.parent:Lorg/bson/internal/ChildCodecRegistry;
2: aload 0
aload 2
putfield org.bson.internal.ChildCodecRegistry.codecClass:Ljava/lang/Class;
3: aload 0
aload 1
getfield org.bson.internal.ChildCodecRegistry.registry:Lorg/bson/internal/CycleDetectingCodecRegistry;
putfield org.bson.internal.ChildCodecRegistry.registry:Lorg/bson/internal/CycleDetectingCodecRegistry;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bson/internal/ChildCodecRegistry<TT;>;
0 5 1 parent Lorg/bson/internal/ChildCodecRegistry<*>;
0 5 2 codecClass Ljava/lang/Class<TT;>;
Signature: (Lorg/bson/internal/ChildCodecRegistry<*>;Ljava/lang/Class<TT;>;)V
MethodParameters:
Name Flags
parent final
codecClass final
public java.lang.Class<T> getCodecClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bson.internal.ChildCodecRegistry.codecClass:Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bson/internal/ChildCodecRegistry<TT;>;
Signature: ()Ljava/lang/Class<TT;>;
public <U> org.bson.codecs.Codec<U> get(java.lang.Class<U>);
descriptor: (Ljava/lang/Class;)Lorg/bson/codecs/Codec;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.bson.internal.ChildCodecRegistry.hasCycles:(Ljava/lang/Class;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 2
1: new org.bson.internal.LazyCodec
dup
aload 0
getfield org.bson.internal.ChildCodecRegistry.registry:Lorg/bson/internal/CycleDetectingCodecRegistry;
aload 1
invokespecial org.bson.internal.LazyCodec.<init>:(Lorg/bson/codecs/configuration/CodecRegistry;Ljava/lang/Class;)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bson.internal.ChildCodecRegistry.registry:Lorg/bson/internal/CycleDetectingCodecRegistry;
new org.bson.internal.ChildCodecRegistry
dup
aload 0
aload 1
invokespecial org.bson.internal.ChildCodecRegistry.<init>:(Lorg/bson/internal/ChildCodecRegistry;Ljava/lang/Class;)V
invokeinterface org.bson.internal.CycleDetectingCodecRegistry.get:(Lorg/bson/internal/ChildCodecRegistry;)Lorg/bson/codecs/Codec;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bson/internal/ChildCodecRegistry<TT;>;
0 3 1 clazz Ljava/lang/Class<TU;>;
Signature: <U:Ljava/lang/Object;>(Ljava/lang/Class<TU;>;)Lorg/bson/codecs/Codec<TU;>;
MethodParameters:
Name Flags
clazz final
private <U> java.lang.Boolean hasCycles(java.lang.Class<U>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: goto 5
2: StackMap locals: org.bson.internal.ChildCodecRegistry
StackMap stack:
aload 2
getfield org.bson.internal.ChildCodecRegistry.codecClass:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
3: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
4: StackMap locals:
StackMap stack:
aload 2
getfield org.bson.internal.ChildCodecRegistry.parent:Lorg/bson/internal/ChildCodecRegistry;
astore 2
5: StackMap locals:
StackMap stack:
aload 2
ifnonnull 2
6: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/bson/internal/ChildCodecRegistry<TT;>;
0 7 1 theClass Ljava/lang/Class<TU;>;
1 7 2 current Lorg/bson/internal/ChildCodecRegistry;
Signature: <U:Ljava/lang/Object;>(Ljava/lang/Class<TU;>;)Ljava/lang/Boolean;
MethodParameters:
Name Flags
theClass final
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
ifnull 3
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 4
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.bson.internal.ChildCodecRegistry
astore 2
start local 2 5: aload 0
getfield org.bson.internal.ChildCodecRegistry.codecClass:Ljava/lang/Class;
aload 2
getfield org.bson.internal.ChildCodecRegistry.codecClass:Ljava/lang/Class;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 7
6: iconst_0
ireturn
7: StackMap locals: org.bson.internal.ChildCodecRegistry
StackMap stack:
aload 0
getfield org.bson.internal.ChildCodecRegistry.parent:Lorg/bson/internal/ChildCodecRegistry;
ifnull 8
aload 0
getfield org.bson.internal.ChildCodecRegistry.parent:Lorg/bson/internal/ChildCodecRegistry;
aload 2
getfield org.bson.internal.ChildCodecRegistry.parent:Lorg/bson/internal/ChildCodecRegistry;
invokevirtual org.bson.internal.ChildCodecRegistry.equals:(Ljava/lang/Object;)Z
ifne 10
goto 9
StackMap locals:
StackMap stack:
8: aload 2
getfield org.bson.internal.ChildCodecRegistry.parent:Lorg/bson/internal/ChildCodecRegistry;
ifnull 10
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield org.bson.internal.ChildCodecRegistry.registry:Lorg/bson/internal/CycleDetectingCodecRegistry;
aload 2
getfield org.bson.internal.ChildCodecRegistry.registry:Lorg/bson/internal/CycleDetectingCodecRegistry;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 12
11: iconst_0
ireturn
12: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bson/internal/ChildCodecRegistry<TT;>;
0 13 1 o Ljava/lang/Object;
5 13 2 that Lorg/bson/internal/ChildCodecRegistry<*>;
MethodParameters:
Name Flags
o final
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.bson.internal.ChildCodecRegistry.parent:Lorg/bson/internal/ChildCodecRegistry;
ifnull 1
aload 0
getfield org.bson.internal.ChildCodecRegistry.parent:Lorg/bson/internal/ChildCodecRegistry;
invokevirtual org.bson.internal.ChildCodecRegistry.hashCode:()I
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: bipush 31
iload 1
imul
aload 0
getfield org.bson.internal.ChildCodecRegistry.registry:Lorg/bson/internal/CycleDetectingCodecRegistry;
invokevirtual java.lang.Object.hashCode:()I
iadd
istore 1
4: bipush 31
iload 1
imul
aload 0
getfield org.bson.internal.ChildCodecRegistry.codecClass:Ljava/lang/Class;
invokevirtual java.lang.Object.hashCode:()I
iadd
istore 1
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bson/internal/ChildCodecRegistry<TT;>;
3 6 1 result I
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/bson/codecs/configuration/CodecRegistry;
SourceFile: "ChildCodecRegistry.java"