public class com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver extends com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver
  super_class: com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase
{
  private static final java.lang.String JAVA_UTIL_PKG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.util."

  public void <init>(com.fasterxml.jackson.databind.JavaType, com.fasterxml.jackson.databind.type.TypeFactory);
    descriptor: (Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/type/TypeFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
        start local 1 // com.fasterxml.jackson.databind.JavaType baseType
        start local 2 // com.fasterxml.jackson.databind.type.TypeFactory typeFactory
         0: .line 22
            aload 0 /* this */
            aload 1 /* baseType */
            aload 2 /* typeFactory */
            invokespecial com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase.<init>:(Lcom/fasterxml/jackson/databind/JavaType;Lcom/fasterxml/jackson/databind/type/TypeFactory;)V
         1: .line 23
            return
        end local 2 // com.fasterxml.jackson.databind.type.TypeFactory typeFactory
        end local 1 // com.fasterxml.jackson.databind.JavaType baseType
        end local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;
            0    2     1     baseType  Lcom/fasterxml/jackson/databind/JavaType;
            0    2     2  typeFactory  Lcom/fasterxml/jackson/databind/type/TypeFactory;
    MethodParameters:
             Name  Flags
      baseType     
      typeFactory  

  public com.fasterxml.jackson.annotation.JsonTypeInfo$Id getMechanism();
    descriptor: ()Lcom/fasterxml/jackson/annotation/JsonTypeInfo$Id;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
         0: .line 26
            getstatic com.fasterxml.jackson.annotation.JsonTypeInfo$Id.CLASS:Lcom/fasterxml/jackson/annotation/JsonTypeInfo$Id;
            areturn
        end local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;

  public void registerSubtype(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
        start local 1 // java.lang.Class type
        start local 2 // java.lang.String name
         0: .line 30
            return
        end local 2 // java.lang.String name
        end local 1 // java.lang.Class type
        end local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;
            0    1     1  type  Ljava/lang/Class<*>;
            0    1     2  name  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)V
    MethodParameters:
      Name  Flags
      type  
      name  

  public java.lang.String idFromValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
        start local 1 // java.lang.Object value
         0: .line 34
            aload 0 /* this */
            aload 1 /* value */
            aload 1 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._typeFactory:Lcom/fasterxml/jackson/databind/type/TypeFactory;
            invokevirtual com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._idFrom:(Ljava/lang/Object;Ljava/lang/Class;Lcom/fasterxml/jackson/databind/type/TypeFactory;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.Object value
        end local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;
            0    1     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.String idFromValueAndType(, java.lang.Class<?>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
        start local 1 // java.lang.Object value
        start local 2 // java.lang.Class type
         0: .line 39
            aload 0 /* this */
            aload 1 /* value */
            aload 2 /* type */
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._typeFactory:Lcom/fasterxml/jackson/databind/type/TypeFactory;
            invokevirtual com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._idFrom:(Ljava/lang/Object;Ljava/lang/Class;Lcom/fasterxml/jackson/databind/type/TypeFactory;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.Class type
        end local 1 // java.lang.Object value
        end local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;
            0    1     1  value  Ljava/lang/Object;
            0    1     2   type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  
      type   

  public com.fasterxml.jackson.databind.JavaType typeFromId(com.fasterxml.jackson.databind.DatabindContext, java.lang.String);
    descriptor: (Lcom/fasterxml/jackson/databind/DatabindContext;Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JavaType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
        start local 1 // com.fasterxml.jackson.databind.DatabindContext context
        start local 2 // java.lang.String id
         0: .line 44
            aload 0 /* this */
            aload 2 /* id */
            aload 1 /* context */
            invokevirtual com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._typeFromId:(Ljava/lang/String;Lcom/fasterxml/jackson/databind/DatabindContext;)Lcom/fasterxml/jackson/databind/JavaType;
            areturn
        end local 2 // java.lang.String id
        end local 1 // com.fasterxml.jackson.databind.DatabindContext context
        end local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;
            0    1     1  context  Lcom/fasterxml/jackson/databind/DatabindContext;
            0    1     2       id  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  
      id       

  protected com.fasterxml.jackson.databind.JavaType _typeFromId(java.lang.String, com.fasterxml.jackson.databind.DatabindContext);
    descriptor: (Ljava/lang/String;Lcom/fasterxml/jackson/databind/DatabindContext;)Lcom/fasterxml/jackson/databind/JavaType;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
        start local 1 // java.lang.String id
        start local 2 // com.fasterxml.jackson.databind.DatabindContext ctxt
         0: .line 49
            aload 2 /* ctxt */
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._baseType:Lcom/fasterxml/jackson/databind/JavaType;
            aload 1 /* id */
            invokevirtual com.fasterxml.jackson.databind.DatabindContext.resolveSubType:(Lcom/fasterxml/jackson/databind/JavaType;Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JavaType;
            astore 3 /* t */
        start local 3 // com.fasterxml.jackson.databind.JavaType t
         1: .line 50
            aload 3 /* t */
            ifnonnull 4
         2: .line 51
            aload 2 /* ctxt */
            instanceof com.fasterxml.jackson.databind.DeserializationContext
            ifeq 4
         3: .line 53
            aload 2 /* ctxt */
            checkcast com.fasterxml.jackson.databind.DeserializationContext
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._baseType:Lcom/fasterxml/jackson/databind/JavaType;
            aload 1 /* id */
            aload 0 /* this */
            ldc "no such class found"
            invokevirtual com.fasterxml.jackson.databind.DeserializationContext.handleUnknownTypeId:(Lcom/fasterxml/jackson/databind/JavaType;Ljava/lang/String;Lcom/fasterxml/jackson/databind/jsontype/TypeIdResolver;Ljava/lang/String;)Lcom/fasterxml/jackson/databind/JavaType;
            areturn
         4: .line 57
      StackMap locals: com.fasterxml.jackson.databind.JavaType
      StackMap stack:
            aload 3 /* t */
            areturn
        end local 3 // com.fasterxml.jackson.databind.JavaType t
        end local 2 // com.fasterxml.jackson.databind.DatabindContext ctxt
        end local 1 // java.lang.String id
        end local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;
            0    5     1    id  Ljava/lang/String;
            0    5     2  ctxt  Lcom/fasterxml/jackson/databind/DatabindContext;
            1    5     3     t  Lcom/fasterxml/jackson/databind/JavaType;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      id    
      ctxt  

  protected java.lang.String _idFrom(, java.lang.Class<?>, com.fasterxml.jackson.databind.type.TypeFactory);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;Lcom/fasterxml/jackson/databind/type/TypeFactory;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
        start local 1 // java.lang.Object value
        start local 2 // java.lang.Class cls
        start local 3 // com.fasterxml.jackson.databind.type.TypeFactory typeFactory
         0: .line 69
            ldc Ljava/lang/Enum;
            aload 2 /* cls */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 3
         1: .line 70
            aload 2 /* cls */
            invokevirtual java.lang.Class.isEnum:()Z
            ifne 3
         2: .line 71
            aload 2 /* cls */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 2 /* cls */
         3: .line 74
      StackMap locals:
      StackMap stack:
            aload 2 /* cls */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* str */
        start local 4 // java.lang.String str
         4: .line 75
            aload 4 /* str */
            ldc "java.util."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
         5: .line 82
            aload 1 /* value */
            instanceof java.util.EnumSet
            ifeq 9
         6: .line 83
            aload 1 /* value */
            checkcast java.util.EnumSet
            invokestatic com.fasterxml.jackson.databind.util.ClassUtil.findEnumType:(Ljava/util/EnumSet;)Ljava/lang/Class;
            astore 5 /* enumClass */
        start local 5 // java.lang.Class enumClass
         7: .line 85
            aload 3 /* typeFactory */
            ldc Ljava/util/EnumSet;
            aload 5 /* enumClass */
            invokevirtual com.fasterxml.jackson.databind.type.TypeFactory.constructCollectionType:(Ljava/lang/Class;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/type/CollectionType;
            invokevirtual com.fasterxml.jackson.databind.type.CollectionType.toCanonical:()Ljava/lang/String;
            astore 4 /* str */
        end local 5 // java.lang.Class enumClass
         8: .line 86
            goto 21
      StackMap locals: java.lang.String
      StackMap stack:
         9: aload 1 /* value */
            instanceof java.util.EnumMap
            ifeq 21
        10: .line 87
            aload 1 /* value */
            checkcast java.util.EnumMap
            invokestatic com.fasterxml.jackson.databind.util.ClassUtil.findEnumType:(Ljava/util/EnumMap;)Ljava/lang/Class;
            astore 5 /* enumClass */
        start local 5 // java.lang.Class enumClass
        11: .line 88
            ldc Ljava/lang/Object;
            astore 6 /* valueClass */
        start local 6 // java.lang.Class valueClass
        12: .line 90
            aload 3 /* typeFactory */
            ldc Ljava/util/EnumMap;
            aload 5 /* enumClass */
            aload 6 /* valueClass */
            invokevirtual com.fasterxml.jackson.databind.type.TypeFactory.constructMapType:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/type/MapType;
            invokevirtual com.fasterxml.jackson.databind.type.MapType.toCanonical:()Ljava/lang/String;
            astore 4 /* str */
        end local 6 // java.lang.Class valueClass
        end local 5 // java.lang.Class enumClass
        13: .line 94
            goto 21
      StackMap locals:
      StackMap stack:
        14: aload 4 /* str */
            bipush 36
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 21
        15: .line 102
            aload 2 /* cls */
            invokestatic com.fasterxml.jackson.databind.util.ClassUtil.getOuterClass:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 5 /* outer */
        start local 5 // java.lang.Class outer
        16: .line 103
            aload 5 /* outer */
            ifnull 21
        17: .line 106
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._baseType:Lcom/fasterxml/jackson/databind/JavaType;
            invokevirtual com.fasterxml.jackson.databind.JavaType.getRawClass:()Ljava/lang/Class;
            astore 6 /* staticType */
        start local 6 // java.lang.Class staticType
        18: .line 107
            aload 6 /* staticType */
            invokestatic com.fasterxml.jackson.databind.util.ClassUtil.getOuterClass:(Ljava/lang/Class;)Ljava/lang/Class;
            ifnonnull 21
        19: .line 109
            aload 0 /* this */
            getfield com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver._baseType:Lcom/fasterxml/jackson/databind/JavaType;
            invokevirtual com.fasterxml.jackson.databind.JavaType.getRawClass:()Ljava/lang/Class;
            astore 2 /* cls */
        20: .line 110
            aload 2 /* cls */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* str */
        end local 6 // java.lang.Class staticType
        end local 5 // java.lang.Class outer
        21: .line 114
      StackMap locals:
      StackMap stack:
            aload 4 /* str */
            areturn
        end local 4 // java.lang.String str
        end local 3 // com.fasterxml.jackson.databind.type.TypeFactory typeFactory
        end local 2 // java.lang.Class cls
        end local 1 // java.lang.Object value
        end local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;
            0   22     1        value  Ljava/lang/Object;
            0   22     2          cls  Ljava/lang/Class<*>;
            0   22     3  typeFactory  Lcom/fasterxml/jackson/databind/type/TypeFactory;
            4   22     4          str  Ljava/lang/String;
            7    8     5    enumClass  Ljava/lang/Class<*>;
           11   13     5    enumClass  Ljava/lang/Class<*>;
           12   13     6   valueClass  Ljava/lang/Class<*>;
           16   21     5        outer  Ljava/lang/Class<*>;
           18   21     6   staticType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;Lcom/fasterxml/jackson/databind/type/TypeFactory;)Ljava/lang/String;
    MethodParameters:
             Name  Flags
      value        
      cls          
      typeFactory  

  public java.lang.String getDescForKnownTypeIds();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
         0: .line 119
            ldc "class name used as type id"
            areturn
        end local 0 // com.fasterxml.jackson.databind.jsontype.impl.ClassNameIdResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/databind/jsontype/impl/ClassNameIdResolver;
}
SourceFile: "ClassNameIdResolver.java"
InnerClasses:
  public final Id = com.fasterxml.jackson.annotation.JsonTypeInfo$Id of com.fasterxml.jackson.annotation.JsonTypeInfo